首页 新闻 会员 周边

关于c++中在一个构造函数中调用另一个构造函数的问题

0
[已解决问题] 解决于 2012-08-23 18:51
#include <iostream>
using namespace std;
class test
{
public:
    test(int iVar):m_iVar(iVar),m_iCount(0){m_iCount=++s_iCount;cout<<"I am in constructor and I am the "<<s_iCount<<endl;};
    test(){test(0);};
    void print(){cout<<m_iVar<<endl;cout<<s_iCount<<endl;};
    ~test(){cout<<"I am in destructor and I am the "<<m_iCount<<endl;};
private:
    int m_iVar;
    int m_iCount;
    static int s_iCount;
};
int test::s_iCount = 0;
int main()
{
    test t;//a
    test t1();//b
    test();//c
    system("pause");
    return 0;
}

谁能解释a,b,c单独运行时三种调用的结果

likebeta的主页 likebeta | 初学一级 | 园豆:179
提问于:2012-07-31 14:00
< >
分享
最佳答案
1
test(){test(0);};
这句不是调用构造函数,而是生成了一个临时对象
奖励园豆:5
Greatest | 小虾三级 |园豆:678 | 2012-07-31 14:55

嗯,我知道,但是对这三种情况的结果不太明白

likebeta | 园豆:179 (初学一级) | 2012-07-31 15:10

比如test t1()到底是干啥? 为什么什么都不显示,其他两种我明白含义

likebeta | 园豆:179 (初学一级) | 2012-07-31 15:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册