【发布时间】:2012-08-31 14:08:21
【问题描述】:
我的部分任务是创建一个类,其中包含两个其他类的两个列表并创建“大 4”(构造函数、复制构造函数、操作符 =、析构函数)
这就是我所做的:
using namespace std;
class A{...};
class B{...};
class C{
list<A> a;
list<B> b;
public:
C();
~C();
C(const C& c);
void operator=(const C& c);
};
C::C(){
//How to allocate memory for a and b?
}
C::~C(){
//How to free the memory?
}
C::C(const C& c){
a=c.a;
b=c.b;
}
void operator=(const C& c){
if(&c==this) return;
// how do I delete a and b?
a=c.a;
b=c.b;
}
你能把我不明白的东西清除掉吗(如代码中的 cmets)。如果我没有正确地做任何事情,也可以提出建议?
【问题讨论】:
-
这是什么
list,std::list? -
不,这不是家庭作业,编辑了帖子 - 是的 std::list。
-
您能否详细说明您的意思:包含两个其他类的两个列表?这实际上是两个其他类的实例列表吗?每个列表是否需要包含其他两个类的对象,还是只是一种对象的容器?
-
一个列表包含一个类的实例,另一个列表包含另一个类的实例。 . .