C++的类是OOP的核心,其中包括成员函数和其他特殊函数在内的概念有很多易混淆的地方。在此我做出以下总结,便于自己和读者查阅。
函数行为总结表:
函数名称 | 是否从基类继承 | 可否virtual | 是否返回值 | 类型 | 编译器是否自动生成 |
构造函数constructor | NO | NO | NO | 特殊成员函数 | YES |
拷贝构造函数copy constructor | NO | NO | NO | 特殊成员函数 | YES |
析构函数destructor | NO | YES | NO | 特殊成员函数 | YES |
转换函数 | YES | YES | NO | 特殊成员函数 | NO |
赋值运算符(=) | NO | YES | YES | 成员函数 | YES |
new | YES | NO | void* | 静态成员函数 | NO |
delete | YES | NO | void | 静态成员函数 | NO |
成员函数 | YES | YES | YES | 成员函数 | NO |
友元函数 | NO | NO | YES | 成员函数 | NO |