|
构造中调用构造函数,直接调用构造函数会产生匿名对象
- #include <iostream>
- using namespace std;
- class Test01
- {
- private:
- int a,b,c;
- public:
- Test01(int _a, int _b){
- printf("两个参数的构造函数\n");
- a = _a;
- b = _b;
- Test01(a, b, 100);
- }
- Test01(int _a, int _b, int _c){
- printf("3个参数的构造函数\n");
- a = _a;
- b = _b;
- c = _c;
- }
- ~Test01(){
- printf("析构函数:%d,%d,%d\n", a, b, c);
- }
- int get_c(){
- return c;
- }
- };
- //构造中调用构造函数,直接调用构造函数会产生匿名对象
- //匿名对象如果没人去接,立马调用析构函数
- int main(){
- Test01 t1(1,2);
- printf("看看c的值:%d\n", t1.get_c());
- return 0;
- }
- // 两个参数的构造函数
- // 3个参数的构造函数
- // 析构函数:1,2,100
- // 看看c的值:21915
- // 析构函数:1,2,21915
复制代码
|
|