c++复习提纲 下载本文

内容发布更新时间 : 2024/5/20 21:07:51星期一 下面是文章的全部内容请认真阅读。

0、概述

1、结构化的程序设计、面向对象的程序设计的基本思想。

结构化的程序设计将数据和对数据的操作分离,程序是由一个个的函数组成的,面向对象的程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,它能够较好地支持程序代码的复用。 2、面向对象的程序设计有四大特征,它们是封装性、继承性、多态性、抽象性。 面向过程的程序设计中程序模型描述为 (1) ,面向对象程序设计的程序模型可描述为 (2) 。 答案:

(1)“程序=算法+数据结构”。其数据与数据处理是分离的。 (2)程序=对象+对象+……+对象;对象=(算法+数据结构)。 简单解释什么是面向对象程序设计的封装性。

答:对象是一个封装体,在其中封装了该对象所具有的属性和操作。对象作为独立的基本单元,实现了将数据和数据处理相结合的思想。此外,封装特性还体现在可以限制对象中数据和操作的访问权限,从而将属性“隐藏”在对象内部,对外只呈现一定的外部特性和功能。

封装性增加了对象的独立性,C++通过建立数据类型——类,来支持封装和数据隐藏。一个定义完好的类一旦建立,就可看成完全的封装体,作为一个整体单元使用,用户不需要知道这个类是如何工作的,而只需要知道如何使用就行。

另一方面,封装增加了数据的可靠性,保护类中的数据不被类以外的程序随意使用。这两个优点十分有利于程序的调试和维护 一、类 要求:

◇ 掌握类定义、类成员的访问权限;能够根据给定的要求定义类,并实现类的成员函数;

◇ this指针:当一个成员函数被调用时,该成员函数的 this指针指向调用它的对象。例如: return *this;

◇ 常成员函数的定义与使用、内联成员函数的定义、成员函数的重载、默认参数的形式;

常成员函数的定义格式:类型说明符 函数名(参数表)const{} 注:

? 常成员函数不能修改所捆绑对象的数据成员,也不能调用非const函数。 ? 常量对象只能调用常成员函数;反之,常成员函数不一定非用常量对象

来调用;但构造函数和析构函数对这个规则例外,它们从不定义为常成员函数,但可被常量对象调用(被自动调用)。如: #include using namespace std; class R{ public:

R(int r1,int r2) {R1=r1;R2=r2;}

void print(){cout<

void print() const{ cout<<\

private: };

void main(){ }

◇ 静态数据成员和静态成员函数的定义和使用; 注:

静态数据成员是类的所有对象中共享的成员

静态成员函数只能直接访问类中的静态成员,若要访问类中的非静态成员时,必须借助对象名、引用或指向对象的指针。 ①

int R1,R2;

R a(5,4); a.print();

const R b(20,52); //b是常量对象 b.print();

#include using namespace std; class CSample{ private: int i; static int k; public:

CSample(){ i=0; k++;}

void Display(){cout<<\};

int CSample::k=0; void main(){ CSample a,b; a.Display(); b.Display(); }

答: i=0,k=2 i=0,k=2 ②

#include using namespace std; class Sample {

int A; static int B; public:

Sample(int a){A=a; B+=a;} static void print(Sample s); };

void Sample::print(Sample s)