定义 类的问题
定义了一个类A,请问下面的语句有什么区别:A a();和A a;
[解决办法]
函数声明,和对象声明(定义)的区别。
[解决办法]
cout < < typeid(a).name() < < endl;
自己试一下就知道了。
[解决办法]
哦,那么 int test();你认为算啥?
[解决办法]
定义了一个类A,请问下面的语句有什么区别:A a();和A a;
第一个是声明了一个函数,
也许楼主的想法是去定义一个对象,
并用缺省构造函数去初始化,
但这是不可能实现的,
因为A a()这种写法编译器是要把它当成函数来处理的,
这个函数返回类型为A,函数名为a,参数表为空
第二个才是正确的定义对象的方法,
所以楼主一定要注意,
定义对象的时候要用第二种而决不能用第一种
[解决办法]
A a();
这个是声明一个 a 函数,
该函数无参数, 返回一个 A 类型对象~