C++派生的简单问题(初学者)

D_Tam D_Tam 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
定义一个哺乳动物类Mammal,再由此派生出狗类Dog,定义一个Dog类的对象,观察基类与派生类的构造函数和析构函数的调用顺序。

输入样例:

Input Dog Name:wangcai

输出样例:

Con.Mammal;Con.Dog:wangcai;Des.Dog:wangcai;Des.Mammal;

#include <iostream>
#include <string>
using namespace std;
class Mammal
{
public:
Mammal(string name):name(name)
{
cout<<"Con.Mammal;";
}
~Mammal()
{
cout<<"Des.Mammal;";
}
protected:
string name;
};
class Dog: public Mammal
{
public:
Dog(string name):name(name) //错误处
{
cout<<"Con.Dog:"<<name<<";";
}
~Dog()
{
cout<<"Des.Dog:"<<name<<";";
}
private:
string name;
};
int main()
{
string name;
cout<<"Input Dog Name:";
cin>>name;
Dog d(name);
return 0;
}
以上是我的代码,错误处已在代码中标出,求老司机解释下为什么错,如何改正,谢谢!!!
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
D_Tam
新手乐园 33,315 成员 41,769 内容