有关子类的拷贝构造函数
本来打了一大段话的,可不知道为什么诊断链接错误,所以,直接将代码发上来了,主要问题是:
error C2091: function returns function
如果不建立拷贝构造的话,可以运行,我上网查了很多的资料,可是,都几乎是超长的代码,有人直接建议我不要用拷贝构造函数了,但是我很想知道这段代码应该怎么改?(除了将拷贝给删了之外。)
谢谢各位了。
#include<iostream>
using namespace std;
class B
{
int a,b;
public:B(){};
B(int i,int j){a=i;b=j;}
B(B &s)(){a=s.a;b=s.b;}
~B(){cout<<"Destructor"<<endl;}
void printb()
{
cout<<"a="<<a<<",b="<<b<<endl;
}
};
class A
{
B c;
public:
A();
A(int i,int j):c(i,j){};
A(const A &d):c(&d){};
void printa(){c.printb();}
};
int main()
{
A a(7,8),b(a);
a.printa();
b.printa();
return 0;
}
error C2091: function returns function
如果不建立拷贝构造的话,可以运行,我上网查了很多的资料,可是,都几乎是超长的代码,有人直接建议我不要用拷贝构造函数了,但是我很想知道这段代码应该怎么改?(除了将拷贝给删了之外。)
谢谢各位了。
#include<iostream>
using namespace std;
class B
{
int a,b;
public:B(){};
B(int i,int j){a=i;b=j;}
B(B &s)(){a=s.a;b=s.b;}
~B(){cout<<"Destructor"<<endl;}
void printb()
{
cout<<"a="<<a<<",b="<<b<<endl;
}
};
class A
{
B c;
public:
A();
A(int i,int j):c(i,j){};
A(const A &d):c(&d){};
void printa(){c.printb();}
};
int main()
{
A a(7,8),b(a);
a.printa();
b.printa();
return 0;
}
...全文
相关推荐
无关子空间 (2015年)
在高等代数线性子空间概念的基础上,给出了无关子空间的定义,并探究了无关子空间的一些充分必要条件,得出几个有趣的结论.
关子钞版排版方式研究 (2008年)
关子钞版的发现,有助于进一步认识关子纸币的形制和版式,但毕竟两者并不等同,所以有专家试图利用关子钞版实物并结合有关文献记载,去“拼合”、“复原”出关子纸币。由于关子纸币采用双面、三色套印工艺,且关子钞版有十余块印版,理论上说,可以“拼合”、“复原”出无数种版式,具有很大的复杂性和不确定性。最后,基于细致的文献梳理和分析,并参考前人研究成果,提出一个新颖的排版方案。
小关子水电站发电机转子, 滑环绝缘低问题的探讨与解决方法.pdf
小关子水电站发电机转子, 滑环绝缘低问题的探讨与解决方法.pdf
C#设置本地网络如DNS网关子网掩码IP等等.doc
C#设置本地网络如DNS网关子网掩码IP等等.doc
关子两类Bellman-Bihari型积分不等式 (1986年)
含双重非



