c++中为什么加括号就初始化,不加括号就不初始化成员变量
#include<iostream>usingnamespacestd;classTest{public:int&GetA(){returna;}private:inta...
#include <iostream>
using namespace std;
class Test
{
public:
int& GetA()
{
return a;
}
private:
int a;
};
int main()
{
Test *a=new Test();
cout<<a->GetA()<<endl;
system("pause");
return 0;
}
我的问题在这句话:Test *a=new Test(); 如果不加括号他就不初始化成员变量,加括号就初始化成员变量为0. 展开
using namespace std;
class Test
{
public:
int& GetA()
{
return a;
}
private:
int a;
};
int main()
{
Test *a=new Test();
cout<<a->GetA()<<endl;
system("pause");
return 0;
}
我的问题在这句话:Test *a=new Test(); 如果不加括号他就不初始化成员变量,加括号就初始化成员变量为0. 展开
2个回答
展开全部
你得写构造函数啊,我想加括号也许调用缺省构造函数了,比如int a=int();那么a=0;int a;那么a不一定是什么了
追问
难道不加括号就不调用默认的构造函数了吗。课本上是不加括号的,但他还是说调用了默认的构造函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
听不懂LZ在说啥。。
更多追问追答
追问
我说的是实例化的时候,加括号就对成员变量进行了初始化,不加就没有!Test *a=new Test()
追答
你这个加括号是什么意思??
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询