按要求完成下面的程序:
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!
AC代码如下:
class animal{
public:
void speak(){cout<<"animal laguage!"; }//成员函数:void类型的无参的speak方法,输出“animal language!”
};
//上面定义Animal类
class Cat:public animal//定义一个Cat类,公有继承自Animal类
{
private:
string m_strName;
public:
Cat(string name){m_strName=name;} //私有string类型的成员m_strName;带参数的构造函数,用指定形参对私有数据成员进行初始化;
void print_name(){cout<<"cat name: "<<m_strName<<endl;}//公有的成员函数print_name,无形参(),void,输出成员m_strName的值,具*/体输出格式参见main函数和样例输出。
};
完整代码如下;
#include <iostream> #include <string> using namespace std; class animal{ public: void speak(){cout<<"animal laguage!"; }//成员函数:void类型的无参的speak方法,输出“animal language!” }; //上面定义Animal类 class Cat:public animal//定义一个Cat类,公有继承自Animal类 { private: string m_strName; public: Cat(string name){m_strName=name;} //私有string类型的成员m_strName;带参数的构造函数,用指定形参对私有数据成员进行初始化; void print_name(){cout<<"cat name: "<<m_strName<<endl;}//公有的成员函数print_name,无形参(),void,输出成员m_strName的值,具*/体输出格式参见main函数和样例输出。 }; int main() { Cat cat("Persian"); //定义派生类对象;构造函数中形参赋值 cat.print_name(); //派生类对象使用本类成员函数 cat.speak(); //派生类对象使用基类成员函数 return 0; }
私信可转载且请注明出处 ;