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(); //输出wangwangp=&c; //指向基类的指针指向派生类cat对象
p->jiao(); //输出miaomiaoreturn 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。