【在构造函数函数中再次调用构造函数的危险】: 由于你再次调用的构造函数在原来的构造函数中是局部函数,所以再次调用的构造函数的所有的量可能都是局部变量,它在生命周期结束时,会面临被析构的危险,所以再次使用时就可能是垃圾值/
#include<iostream>
using namespace std;
//在构造函数上添加新的构造函数
MyTest(int a, int b) {
this->a = a;
this->b = b;
MyTest(a, b, 100);
}
~MyTest() {
cout << "类的成员变量被析构" << endl;
}
public:
// 业务函数
int getC() const{
return c;
}
void setC(int val) {
c = val;
}
private:
int a;
int b;
int c;
};
int main() {
MyTest t1(1, 2);
cout << t1.getC() << endl;
system("pause");
}
上面的代码可以进行断点调试:
当被调用函数的生命周期结束后,其c值变化成垃圾值
所以再次使用,结果就是垃圾值