gpt4 book ai didi

c++ - 为什么有人会为一个类提供一个空的默认构造函数?

转载 作者:IT老高 更新时间:2023-10-28 21:45:58 24 4
gpt4 key购买 nike

class complex
{
float x,y;
public:
complex(){} //constructor with no arguments //what is use of giving such constructor
complex(float z){x=y=z;}//constructor with 1 argument.
complex(float real,float imag)
{x=real;y=imag;}
friend complex sum(complex,complex);
friend void show(complex);
};

complex sum(complex c1,complex c2)
{
complex c3;
c3.x=c1.x+c2.x;
c3.y=c1.y+c2.y;
return (c3);
}

void show (complex c)
{
cout<<c.x<<"+j"<<c.y<<"\n";
}
int main()
{
complex p,q,r;
p=complex(2.5,3.9);
q=complex(1.6,2.5);
r=sum(p,q);

cout<<"p=";show(p);
cout<<"q=";show(q);
cout<<"r=";show(r);
return 0;
}

最佳答案

当您声明一个没有任何构造函数的类时,编译器会提供一个默认构造函数(根据需要),它会默认初始化成员。 (请注意,诸如 float 之类的内置函数的默认初始化什么也不做)。但是,一旦为类定义了任何构造函数,就不再自动提供默认构造函数。因此,如果您仍然想要一个,则必须定义自己的默认构造函数。

关于c++ - 为什么有人会为一个类提供一个空的默认构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4482113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com