`

[C++ Primer Plus]第十章

阅读更多
1.OOP特性:
抽象
封装和数据隐藏
多态
继承
代码的可重用性
2.OOP从用户的角度考虑对象--描述对象所需的数据和描述用户与数据交互所需的操作
3.类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个简洁的包
4.类规范由类声明和类方法组成,类声明以数据成员的方式描述数据部分,以成员函数的方式描述公有接口,类方法定义描述如何实现类成员函数,通常将类声明放在头文件,将类方法的实现放在源文件
5.只能通过类的公有成员函数来访问类的私有成员,类设计尽可能将公有接口和实现细节分开,达到封装和数据隐藏的目的
6.类对象的默认访问控制为private
7.定义成员函数时,使用作用域解析运算符来标识函数所属的类
8.类的成员函数不需要使用作用域解析运算符来调用其他成员函数
9.定义位于类声明中的函数将自动成为内联函数,内联函数要求在每个使用它的文件中都对其进行定义
10.每个类对象都有自己的存储空间,用于存储其内部变量和类成员,但同一个类的所有对象共享同一组类方法,即每种方法只有一个副本
11.构造函数没有声明类型,其参数名不能与类成员名相同,为避免混乱,常见做法是在数据成员名前使用m_前缀
12.使用构造函数
显示:class_t xx = class_t(a, b, c);
隐式:class_t xx(a, b, c);
使用new:class_t *xx = new class_t(a, b, c);
13.当没有定义任何构造函数时,编译器会提供默认构造函数,如果定义了一个构造函数,又要使用class_t xx,则要自己添加默认构造函数
14.默认构造函数可以是自己定义的构造函数,并且所有参数都有默认值
15.析构函数没有参数,其被调用的时间
1)静态存储类对象,程序结束时调用
2)动态存储类对象,程序执行完代码块时
3)通过new创建的对象,使用delete时
16.C++11初始化
class_t xx = {a, b, c};
class_t xx {a, b, c};
class_t xx {}; //默认构造函数
17.只要类方法不修改调用对象,应将其声明为const
18.每个成员函数都有一个this指针,其指向调用对象,那么*this可以作为调用对象的别名
19.类对象数组,初始化方案,先使用默认构造函数创建数组元素,然后花括号中的构造函数将创建临时对象并复制对象的内容到相应的元素中,因此创建类对象数组,这个类必须有默认构造函数
class_t xx[3] = {
    class_t(a, b, c);
    class_t();
};
20.类中定义的名称其作用域为整个类,要调用公有函数,必须通过对象
21.类声明中的枚举为整型常量提供作用域为整个类的符号名称
22.另一种在类中定义常量的方式,使用static,该常量与其他静态变量存储在一起,为所有类对象所共享
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics