如何将一个类的对象复制到另一个类中
How do i copy an object of a class in another class
我有类A和类B,我在类B中创建了对象类A。我的问题是如何使用教师复制在 B 类中复制对象类 A?
class B {
A *obj;
unsigned short room;
unsigned short area;
public:
B();
B(const B&);
~B();
void setRoom(unsigned short);
void setArea(unsigned short);
unsigned short getRoom() { return room; };
unsigned short getArea() { return area; };
};
这是讲师副本:
B::B(const B&p)
{
room = p.room;
area = p.area;
// A = ?!
}
另一个问题:如何在类 B 中设置和获取对象 A?
//void setObj(A*);?
// A* getObj():?
谢谢
如果A
有一个复制构造函数,你可以只做:
B::B(const B& p)
{
room = p.room;
area = p.area;
obj = new A(*(p.obj));
}
宁愿:
B::B(const B& p) :
obj(new A(*(p.obj))), room(p.room), area(p.area)
{ }
我希望你的析构函数~B();
删除obj
?
B::~B()
{
delete obj;
}
阅读三法则,三法则变成了五法则与C++11?
How to set and get object A in class B?
使用以下格式设置对象。
void B::setAObj(A *aobj)
{
obj = aobj;
}
使用以下方法获取对象
A* B::getAobj()
{
return obj;
}
相关文章:
- 为什么C++在将一个对象复制到另一个对象时需要对这两个对象进行低级常量限定
- 如何在向量列表初始化时避免对象复制以及如何延长临时的生存期
- 了解在 C++ 中分配容器时的对象复制
- C++类对象复制构造函数和运算符=
- 复制 elision/RVO 会导致从同一对象复制/移动吗?
- 如何在循环内将大对象复制到omp任务中?
- 为什么当我添加一个不同的对象(复制构造函数中的参数)时调用复制构造函数?
- 无法将类构造函数中新创建的对象复制到 C++ 中的向量成员
- 将C++对象复制到指向新指针的指针处
- 将一个 OpenCV OutputArrayOfArrays 对象复制到另一个对象
- 选择性地禁用隐式对象复制
- 不能从文件到指针向量的对象复制
- 从派生对象复制构造
- OpenCV Mat对象复制速度更快
- 将子对象复制到父对象
- 为什么普通的 c++ 编译器不优化对象复制?
- C :将一个对象复制到构造函数中的另一个对象
- 使用命名对象复制构造函数
- 不必要的对象复制 - C++ STL
- 如何将一个类的对象复制到另一个类中