在C类中的类的数据成员++,我们可以提供默认的构造以及任何无参数constructors.If的,我们使用一个构造函数初始列表中的每个参数的构造函数,则心不是它像我们是初始化成员不止一次?这个概念是否有效?(我认为我们只能初始化一次)。 另外,通过这样的逻辑,如果我们有一个恒定的数据成员或参考,如果我想初始化与由用户所提供的值,我怎样才能做到这一点的恒定?我发现在C代码片段++引物,它看起来像初始化在C++
class constref
{
public:
constref(int ii):i(ii),ci(ii),ri(i)
{
}
private:
int i;
const int ci;
int &ri;
}
心不是上面的代码wrong.because因为我们已经提供了一种构造带参数,我们需要定义默认constructor.So恒定和被初始化两次这是我的error.How可以将其作为参考工作? 感谢
但是你能告诉什么是这个代码发生了什么?
#include<iostream>
#include<stdlib.h>
using namespace std;
class dummy
{
int a;
public:
dummy():a(0)
{
}
dummy(int i):a(i)
{
}
void output()
{
cout<<a<<endl;
}
};
int main()
{
dummy d;
d=dummy(4);
d=dummy(3);
d.output();
return 0;
}