1、this指针可指向常量型数据
、可指向成员函数
,不可以指向静态成员函数
。
this指针始终指向调用成员函数的对象
。
2、宏定义语句:#define BUFSIZE 100; == const int BUFSIZE 100
;
3、模板类的基类和派生类都可以是模板类或非模板类
。
4、类A声明为类B的友元后,类A直接访问类B的公有成员
。
5、对数据进行降幂和检索操作,需要包含头部文件functional
。
6、对数据进行升幂等操作,需要包含头部文件algorithm
。
对数组操作升幂排序的方法:sort(a,a+len)
。
7、虚函数只能是类中的一个成员函数
,但不能是静态成员。
8、C++编译指令:所有编译指令都是以#开始的,每条指令单独占一行,同一行不能有其他编译指令和C++语句(注释除外)
。
9、派生类构造函数进行初始顺序:调用基类构造函数,调用子类对象的构造函数,执行派生类的构造函数
。
10、析构函数进行操作顺序:调用成员对象析构函数,对派生类新增的成员对象进行清理,调用基类析构函数,对基类进行清理
。
11、使用虚函数不一定产生多态性,也不一定使用动态联编
,前提条件:类之间的继承关系满足赋值兼容性规则,改写同名虚函数,根据赋值兼容性规则使用指针。
12、C++允许为同一个函数定义几个版本,使其有多种功能,称为函数重载
。
13、C++输入/输出操控符中,含义是设置转换基数为十进制是dec
,含义是设置转换基数为八进制是oct
,含义是设置转换基数为十六进制是hex
,输出一个换行符并刷新流的是endl
,设置输出数据字段宽度width是setw
。
14、重载的运算符的实质是保持原有的运算符个数、优先级和结合性
不变。
15、流类库
ios_base :: out:打开文件进行写操作。
ios_base :: binatry :以二进制方式打开,默认为文本。
ios_base :: showpos :在正数前添加一个“+”号。
16、指向常量的指针在非常量指针声明前使用const
。
指向常量的指针:
const int y = 23;
const int * p = &y;
常量指针:
int x = 23;
int * const p = &x;
指向常量的常量指针:
int x = 23;
const int * const p = &x;
17、一个类可以说明多个纯虚函数
,包含纯虚函数的类称为抽象类
。
18、const
定义常量数据成员、静态常数据成员和常引用。
19、在C++程序设计中,使用new
代替malloc分配动态内存。
20、聚合
是指复杂对象可以由简单对象构成。
21、利用向量类模板定义一个具有10个double的向量E,元素被置为1.5,其操作语句为:vector < double >E(10,1.5);。
22、cin >> str;语句有误,使用cin进行输入时空格也作为结束符,所有str不能接收完整字符串,应改为:cin.getline(str,20);
23、构造函数名和类名一样,且在定义构造函数不能有返回类型
,即使void
也不行。
24、C++预处理语句:宏定义、文件包含、条件编译
。
25、类可以不包括任何声明。
26、二元运算符作为友元运算符重载,参数表中应有两个参数
。运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
(可以作为成员函数重载,也可以作为友元函数重载
)。
27、类A的复制构造函数的原型是:A::A(const A&)
28、ios
类是istream类和ostream类的虚基类。
29、C++通过类
实现数据封装。
30、虚函数未定义,留给派生类去定义的虚函数称为纯虚函数
。
31、地址运算符&
用来取对象存储的首地址值。
32、C++语言的标准模板库(STL)
提供了与要操作的元素类型无关的算法。
泛型算法
就是提供的操作与元素的类型无关。
33、C++函数分为库函数、用户自定义函数。
34、UML中实例连接
反应对象之间的静态关系
,消息连接描述对象之间的动态关系
。
35、操控符setprecision(int n)
的含义是设置浮点输出精度n。
36、统计数组中包含元素的个数:n = sizeof(A)/sizeof(*A)。
37、友元函数可以直接访问对象的私有成员,可以出现于类的私有、公有部分。友元函数可以在类中声明时定义,也可以在类外定义,如果在类外定义,就不能使用friend关键字。友元关系不能传递。
38、泛型算法
就是提供的操作与元素类型无关。
39、简单的成员函数不包含const、static、volatil
。
40、在C++程序设计中,函数返回类型可以是除数组和函数
以外的任何类型。
41、如果形参是简单变量,则对应实参与形参之间的数据传递方式是单向值传递
。
42、类的常成员函数,无返回值:void print() const。
43、调用函数时,需要改变实参或者返回多个值,应采取传值或传引用
的方式。
44、友元函数语句:friend void A :: fun();
45、字符型数据在内存中的存放形式:ASCII
。
46、友元函数的主要作用:提供程序的效率
。
47、不能作为函数重载的判断依据是:返回类型
。
48、C++源程序文件后缀是:.cpp 。经过编译后,生成文件的后缀是:.obj 。经过连接后,生成文件的后缀是:.exe 。
49、函数模板的真正代码是在源程序中调用函数
时产生的。
50、注释分为:序言性注释和功能性注释
。
51、重载函数必须有不同的形参列表
。
52、派生类不可以继承基类中的构造函数和析构函数
。
53、定义一个生日类,数据成员有年、月、日。定义一个人员类,数据成员有姓名、性别、生日。人员类中的生日是生日类的对象,两个类都有构造函数和显示函数。在主函数中声明一个人员类对象,屏幕显示其数据。
#include < iostream >
using namespace std;
class birth{
private:
int year,month,day;
public:
birth(int x,int y,int z){
year = x;
month = y;
day = z;
}
void show(){
cout << "生日是"<< year <<"年"<<month <<“月”<<day<< “日” << endl;
}
};
class person{
private:
char * name;
char * sex;
birth birdy;
public:
person(char *p,char *q,int x,int y,int z);
void show(){
cout<<"姓名为"<<name<<"性别为"<< sex;
birdy.show();
}
};
person :: person(char *p,char *q,int x,int y,int z) : birdy(x,y,z){
name = p;
sex = q;
}
void main(){
person psn("张三","男",2000,4,28);
psn.show();
}