c++基础知识
从一个基本的CMyString类讲起,分析了
构造函数
拷贝构造函数
析构函数
"="、"+="、"+"、左"++"、右"++"操作符重载
"<<"输出流友元函数重载
1、实现过程要关注内存泄露(析构)、非法输入值处理(“赋值重载”)、内存溢出异常处理(“赋值”重载)。
2、操作符重载特别注意返回值类型和返回方式
面向对象的三大特征:封装、继承和多态。多态特征将在工厂模式里强调。
class CMyString { public: CMyString(const char *pData = NULL) { /* 构造函数 作用:完成对象的初始化 调用顺序: a. 静态成员对象的构造函数。因为静态成员是与类直接相关的,在类内声明,在类的外部定义,并且只初始化一次。 b. 抽象基类的构造函数(按继承的顺序) c. 虚拟基类的构造函数(按继承的顺序) d. 非虚拟基类的构造函数(按继承的顺序) e. 非静态成员对象的构造函数(按声明的顺序) f. 调用类的构造函数。 */ if (pData == NULL) { m_pData = new char[1]; m_pData[0] = '