这个拷贝初始化构造函数该如何写?

时间:2022-01-31 19:34:09
如下定义三个类:

class a{
public:
a(int i):x(i){}
int x;
};

class b{
public:
b(int i):y(i){}
int y;
};

class c:public a,public b{
public:
c(int i,int j,int k,int l):a(i),b(j),x(k),y(l){}
c(c &me)
{
//??????????????????
}
int x,y;
};

请问该如何实现类c的拷贝初始化构造函数c(c &me){}

8 个解决方案

#1


应该不用自己写的吧
标准c++编译器应该会有这个 拷贝构造函数

#2


是呀,这里面没有指针成员,用默认拷贝构造函数就行了。

#3


简单类型不用写,但非要写的话
c::c(c &me):a(me),b(me),x(me.x),y(me.y)
{
}

#4


这是一道C++学习的习题,我不知道怎么做,它要求写出构造函数来。

#5


这是一道C++学习的习题,我不知道怎么做,它要求写出拷贝初始化构造函数来

#6


class a{
public:
a(int i):x(i){}
int x;
};

class b{
public:
b(int i):y(i){}
int y;
};

class c:public a,public b
{
public:
c(int i,int j,int k,int l):a(i),b(j),x(k),y(l)
        {}
c(c &me):a(me.a::x), b(me.b::y), x(me.x), y(me.y)
{}
int x,y;
};

#7


一般说来应该用c(const c& rhs),应该常量引用
什么书的题目?

#8


一般说来应该用c(const c& rhs),应该常量引用
什么书的题目?

#1


应该不用自己写的吧
标准c++编译器应该会有这个 拷贝构造函数

#2


是呀,这里面没有指针成员,用默认拷贝构造函数就行了。

#3


简单类型不用写,但非要写的话
c::c(c &me):a(me),b(me),x(me.x),y(me.y)
{
}

#4


这是一道C++学习的习题,我不知道怎么做,它要求写出构造函数来。

#5


这是一道C++学习的习题,我不知道怎么做,它要求写出拷贝初始化构造函数来

#6


class a{
public:
a(int i):x(i){}
int x;
};

class b{
public:
b(int i):y(i){}
int y;
};

class c:public a,public b
{
public:
c(int i,int j,int k,int l):a(i),b(j),x(k),y(l)
        {}
c(c &me):a(me.a::x), b(me.b::y), x(me.x), y(me.y)
{}
int x,y;
};

#7


一般说来应该用c(const c& rhs),应该常量引用
什么书的题目?

#8


一般说来应该用c(const c& rhs),应该常量引用
什么书的题目?