#include <iostream>
using namespace std;
class MyTest{
public:
MyTest() {
}
MyTest(int a, int b, int c){ //有参 构造函数
_a = a;
_b = b;
_c = c;
}
// 构造中调⽤构造是危险的⾏为
MyTest(int a, int b){ //有参数的构造函数,两个参数
_a = a;
_b = b;
//构造函数中,无法嵌套构造函数 来通过构造函数给自己的成员变量赋值,
//此构造函数已经又创建了另一个对象。
MyTest(a, b, 100); //产生新的匿名对象
//新的匿名对象 a->1 b->2 c ->100
}
~MyTest(){
printf("MyTest~:%d, %d, %d\n", _a, _b, _c);
}
int getC(){
return _c;
}
void setC(int val){
_c = val;
}
private:
int _a;
int _b;
int _c;
};
int main(){
MyTest t1(1, 2); //t1.a -->1 t1.b -->2 t1.c--->?
cout << "c:" << t1.getC() << endl;
}
注:c最后的输出结果为乱码,构造函数中,无法嵌套构造函数 来通过构造函数给自己的成员变量赋值