您好,我正在为学校设计一个项目,该项目必须使用动态分配的对象数组。我想知道我在哪里出错了。Mammal* Pets = new Mammal[arraysize];Pets[count] = new Dog(tempweight, tempname)
出现错误,指出没有运算符匹配第二行代码的这些操作数。
这是我的构造函数(如果有帮助的话),以及Dog构造函数。
Mammal::Mammal(void)
{
weight = 0;
name = "";
cout << "Invoking Mammal Default Constructor\n";
}
Mammal::Mammal(int tempweight, string tempname)
{
weight = tempweight;
name = tempname;
cout << "Invoking Mammal Constructor\n";
}
Dog::Dog(int tempweight, string tempname)
{
Setweight(tempweight);
Setname(tempname);
cout << "Invoking Dog Constructor\n";
}
谢谢,
最佳答案
您需要声明一个指针数组,如下所示:
Mammal ** Pets = new Mammal*[arraysize];