赞
踩
描述
在下面的编辑器中的Begin-End之间补充代码,设计人类、英语学生类和复读机类三个类,具体要求如下:
程序代码如下:
#include <iostream>
#include <string>
using namespace std;
/********* Begin *********/
//人类的声明
class Chinese {
};
//人类的定义
//英语学生类的声明
class EnglishLearner : public Chinese {
};
//英语学生类的定义
//复读机类的声明
class Repeater : public Chinese {
};
//复读机类的定义
//普通函数的定义
void greeting(Chinese *p) {
}
/********* End *********/
int main() {
string name;
cin >> name;
Chinese *ps[3];
//申请内存
ps[0] = new Chinese(name);
ps[1] = new EnglishLearner(name);
ps[2] = new Repeater(name);
for (int i = 0; i < 3; i++)
greeting(ps[i]);
//释放内存
for (int i = 0; i < 3; i++)
delete ps[i];
return 0;
}
输入
输入姓名。
输出
你好 姓名
hello 姓名
你好 姓名
输入输出示例
输入 | 输出 | |
示例 1 | 李云龙 | 你好 李云龙 hello 李云龙 你好 李云龙 |
- #include <iostream>
- #include <string>
- using namespace std;
- class Chinese
- {
- protected:string name;
- public:
- Chinese(string name_)
- {
- name = name_;
- }
- virtual void greet()
- {
- cout << "你好 " << name << endl;
- }
-
- };
- class EnglishLearner : public Chinese
- {
- public:
- //string name;
- EnglishLearner(string name) :Chinese(name)
- {
- name = name;
- }
- void greet()
- {
- cout << "hello "<< name << endl;
- }
- };
- class Repeater : public Chinese
- {
- public:
- //string name;
- Repeater(string name) :Chinese(name)
- {
- name = name;
- }
- void greet()
- {
- Chinese::greet();
- }
-
- };
-
- void greeting(Chinese* p)
- {
- p->greet();
- }
-
- int main()
- {
- string name;
- cin >> name;
- Chinese* ps[3];
- //申请内存
- ps[0] = new Chinese(name);
- ps[1] = new EnglishLearner(name);
- ps[2] = new Repeater(name);
- for (int i = 0; i < 3; i++)
- greeting(ps[i]);
- //释放内存
- for (int i = 0; i < 3; i++)
- delete ps[i];
- return 0;
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。