G 编程题 动物叫

G 编程题 动物叫

时间: 1ms        内存:128M

描述:

利用抽象基类来完成派生类dog和cat的定义,并利用指向基类的指针实现动态多态,输出不同类型动物的不同叫声。
请在下面的程序段基础上完成设计,只提交begin到end部分的代码

#include <iostream>
using namespace std;
 
class animal   //抽象基类---动物类
{
public:
virtual void jiao()=0;  //纯虚函数
};

//将程序需要的其他成份写在下面,只提交begin到end部分的代码
//******************** begin ********************


//********************* end ********************

int main()
{
 animal *p=NULL;  //指向基类的指针
 dog  d;  //dog类对象
 cat  c;  //cat类对象

 p=&d;  //指向基类的指针指向派生类dog对象
 p->jiao(); //输出wangwang

 p=&c;  //指向基类的指针指向派生类cat对象
 p->jiao(); //输出miaomiao

 return 0;
}

输入:

输出:

各类动物的叫声

示例输入:

示例输出:

wangwang
miaomiao

提示:

参考答案(内存最优[0]):


#include <iostream>
using namespace std;
 
class animal   //抽象基类---动物类
{
public:
virtual void jiao()=0;  //纯虚函数
};

class dog:public animal
{
public:
	void jiao(){
	   cout<<"wangwang"<<endl;
	}
};


class cat:public animal
{
public:
	void jiao()
	{
	  cout<<"miaomiao"<<endl;
	}

};

int main()
{
 animal *p=NULL;  //指向基类的指针
 dog  d;  //dog类对象
 cat  c;  //cat类对象


 p=&d;  //指向基类的指针指向派生类dog对象
 p->jiao(); //输出wangwang


 p=&c;  //指向基类的指针指向派生类cat对象
 p->jiao(); //输出miaomiao


 return 0;
}

参考答案(时间最优[0]):


#include <iostream>
using namespace std;
 
class animal   //抽象基类---动物类
{
public:
virtual void jiao()=0;  //纯虚函数
};

class dog:public animal
{
public:
	void jiao(){
	   cout<<"wangwang"<<endl;
	}
};


class cat:public animal
{
public:
	void jiao()
	{
	  cout<<"miaomiao"<<endl;
	}

};

int main()
{
 animal *p=NULL;  //指向基类的指针
 dog  d;  //dog类对象
 cat  c;  //cat类对象


 p=&d;  //指向基类的指针指向派生类dog对象
 p->jiao(); //输出wangwang


 p=&c;  //指向基类的指针指向派生类cat对象
 p->jiao(); //输出miaomiao


 return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注