数组对象初始化问题

we_sky2008 we_sky2008 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
问题在注释处,
谢谢大家!

#include<iostream>

using namespace std;

class A
{
public:
A() : x(0), y(0){cout<<"缺省构造函数"<<endl;}
A(int a, int b) : x(a), y(b){cout<<"普通构造函数"<<endl;}
//A(int a = 0, int b = 0) : x(a), y(b){cout<<"普通构造函数"<<endl;}//此构造函数与上面两个构造函数等价吗?

A(const A &other) : x(other.x), y(other.y){cout<<"拷贝构造函数"<<endl;}
private:
int x;
int y;
};

void test()
{
A objarray1[2] = /**此处会报错,但构造函数若该为注释掉的有缺省参数的构造函数则不会报错,怎么回事?**/
{
(1, 2),
(3, 4)
};
A objarray2[2] =
{
A(5, 6),
A(7, 8)
};
}

int main()
{
test();
system("pause");
return 0;
}
...全文
评论 17
收藏 已收藏
分享
返回顶部
we_sky2008
C++ 语言 65,214 成员 250,514 内容