您的位置:首页 > 编程语言 > C语言/C++

C++学习之 构造函数中调用构造函数

2016-02-20 20:46 381 查看
// 构造中调用构造函数练习.cpp : 定义控制台应用程序的入口点。

#include <iostream>

using namespace std;

class ABC{
public:
ABC(int a, int b, int c){
this->a = a;
this->b = b;
this->c = c;
printf("构造函数调用:a%d,b%d,c%d", a, b, c);
}
ABC(int a,int b){
this->a = a;
this->b = b;
ABC(a, b, 100);
}
~ABC(){
printf("析构函数调用:a%d,b%d,c%d",a,b,c);
}
private:
int a;
int b;
int c;
};

int main()
{
ABC abc(1,2);
return 0;
}

显而易见,ABC(int a,int b)中调用了另一个构造函数,此时我们利用之前的知识知道,单独调用构造函数,会产生匿名对象,那么自然会调用构造函数,因此会输出1,2,100,然后同时在这行结束后,会调用析构函数,析构掉匿名对象,屏幕会输出析构函数调用:1,2,100。当abc(1,2)结束后,会调用析构函数,此时c应该是一个随机值。跟100没有关系。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: