C++-派生类的定义和使用

6-5 派生类的定义和使用 (10分)

按要求完成下面的程序:
1、定义一个Animal类,包含一个void类型的无参的speak方法,输出“animal language!”。
2、定义一个Cat类,公有继承自Animal类,其成员包括:
(1)私有string类型的成员m_strName;
(2)带参数的构造函数,用指定形参对私有数据成员进行初始化;
(3)公有的成员函数print_name,无形参,void类型,功能是输出成员m_strName的值,具体输出格式参见main函数和样例输出。

类和函数接口定义:

参见题目描述。

裁判测试程序样例:

#include <iostream>
#include <string>
using namespace std;

/* 请在这里填写答案 */

int main()
{
    Cat cat("Persian"); //定义派生类对象
    cat.print_name();	//派生类对象使用本类成员函数
    cat.speak();	//派生类对象使用基类成员函数
    return 0;
}

输入样例:

本题无输入。

输出样例:

cat name: Persian
animal language!

 我的代码:

class Animal
{
private:
    
public:
    void speak()
    {
        cout<<"animal language!";
    }
};

class Cat:public Animal
{
private:
    string m_strName;
    
public:
    Cat(string name)
    {m_strName=name;}
    string Getname()
    {return m_strName;}
    void print_name()
    {cout<<"cat name: "<<Getname()<<endl;}
};

 Q:使用strcpy报错,未解决

编译环境为Xcode    PTA已通过

猜你喜欢

转载自blog.csdn.net/loglian/article/details/105914083