13功能之C++类默认生成的六个成员函数的自定义
1 代码理解即可
#pragma warning(disable:4996)
#include<iostream>
using namespace std;
//默认产生6个成员函数,不想使用就自己重写它们
class Person {
public:
//1 默认构造 构造函数不能用const修饰,否则this无法修改指针;也不能用static修饰,因为静态函数没有this指针。
Person() //const error
{
mAge = 0;
}
//2 拷贝构造
Person(int age) {
mAge = age;
}
//3 =运算符重载
Person& operator=(Person &p) {
//这个条件语句写不写都一样
if (this == &p) {
return *this;
}
mAge = p.mAge;
return *this;
}
//4 析构函数
~Person(){}
//5 &取地址重载
Person* operator&() {
return this;
}
//6 const修饰的&重载
const Person* operator&()const {
return this;
}
private:
int mAge;
};
int main() {
return 0;
}