首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Class obj;和Class obj();的不同?解决方法

2012-03-03 
Class obj和Class obj()的不同?我问了我们老师也不知道。。哎,希望能有人帮我。#includeiostream.hclassA

Class obj;和Class obj();的不同?
我问了我们老师也不知道。。哎,希望能有人帮我。

#include   <iostream.h>
class   A
{
public:   int   i;
public:   A()   {   i=10;cout < < "A   created " < <endl;   }
};
class   B:public   A
{   int   i;
public:
B()   {   cout < < "B   created " < <endl;   }
B(int   j)   {
i=j;
cout < < "B   created   with   value:   " < <i < <endl;
}
};
void   main()
{
A   a();   //   A   a;   不同?
//B   b(20);
cout < <a.i < <endl;   //   这样编译不通过。。。
}
/*out:
A   created
B   created   with   value:   20
*/

我不明白,A   a();和A   a;为什么不同,不都是声明A的对象吗?并且应该都使用默认构造(这里有了A()).

[解决办法]
cout < < typeid(a).name();执行一下就知道了。

热点排行