想的太多,知道的太多,但原本知道的,忘了!
闹里有钱,静处安身
住在热闹的地方,让你容易赚钱,住在偏远,让你享受林野的清静
C++复习题
1. MyClass 为一个类,则执行Myclass a,b(2),*p,自动调用构造函数2次。
*p本身不定义类对象,而定义指针p可以指向一个Myclass对象
2. 关于友元函数的几个特点:
1.友元函数必须在类的内部的定义,友元函数的参数通常为类的应用类型.
2 .友元函数不是类的成员函数,友元函数可以访问类的私有成员.
3. 关于静态数据成员的特点:
1.静态数据成员应在类的外部初始化(必须)
2 . 静态数据成员的访问受到访问权限限制,不能直接访问,非静态数据,应该生成对象,在利用对象调用静态函数,才可以访问数据成员.
3. 可以通过对象或类名访问
4. 类的不同对象占据不同的内存空间,他们拥有相同的静态数据成员的内存空间.
4. void change()const{};
常成员函数不能修改,调用数据成员的值,如果一定要修改数据成员前必须加上关键字mutable,只有常成员函数才可以操作常对象.
5. enum week {sun,mon,tue,wed,thu fri,sta}
My.week=wed; 则 my.week=3;
枚举类型的成员变量从0开始,但是可以有重复..
6. 析构函数与构造函数调用严格相反,但根据生存期的不同,析构的顺序为:局部对象,静态对象,全局对象;
7 .拷贝构造函数,C++有默认的定义方式,如果定义了一个拷贝函数,则系统的就会失效.
拷贝构造函数被调用时,类的对象正在被建立,并初始化.
8 关于对象数组与指针数据
Myclass a[3],*p[2]语句, a[3]是创建3个Myclass对象,*p[2]不定义类的对象,不调用构造函数.