第十二周:程序填空
来源:互联网 发布:程序员专业名词 编辑:程序博客网 时间:2024/06/04 08:22
代码及问题:
请在下面程序的横线处填上适当内容,以使程序完整,并使程序的输出为:
张三,42 岁,担任技术处处长
高级工程师,从事轮机设计专业。
#include <iostream>#include <cstring>using namespace std;class Person{ char* name; // 姓名 int age; // 年龄public: Person() {} void setname(char na[]) { name=new _________________; // ( 1) strcpy(name,na); } void setage(int a) { age=a; } char* getname() { return name; } int getage() { return age; }};class Leader: _________________ Person // ( 2){ char *job; // 职务 char *dep; // 部门public: Leader() { } void setjob(char jb[]) { job=new _________________; // ( 3) strcpy (job, jb); } void setdep(char dp[]) { dep=new _________________ ; // ( 4) strcpy (dep, dp); } char *getjob() { return job; } char *getdep() { return dep; }};class Engineer: _________________ Person // ( 5){ char *major; // 专业 char *prof; // 职称public: Engineer () { } void setmajor(char maj []) { major=new _________________; // ( 6) strcpy (major,maj); } void setprof(char pf[]) { prof=new _________________; // ( 7) strcpy (prof, pf); } char*getmajor() { return major; } char*getprof() { return prof; }};class chairman: _________________ { } ; // ( 8)int main(){ chairman c; c.setname("张三"); c.setage(42); c.setjob("处长"); c.setdep("技术处"); c.setmajor("轮机设计"); c.setprof("高级工程师"); cout <<c.getname() << "," <<c.getage()<<" 岁,担任" <<c.getdep() <<c.getjob() <<endl; cout <<c.getprof() << ",从事" << c.getmajor()<< "专业" << "。 " << endl; return 0;}
解决代码:
#include <iostream>#include <cstring>using namespace std;class Person{ char* name; // 姓名 int age; // 年龄public: Person() {} void setname(char na[]) { name=new char[strlen(na)+1]; // ( 1) strcpy(name,na); } void setage(int a) { age=a; } char* getname() { return name; } int getage() { return age; }};class Leader: virtual public Person // ( 2){ char *job; // 职务 char *dep; // 部门public: Leader() { } void setjob(char jb[]) { job=new char[strlen(jb)+1]; // ( 3) strcpy (job, jb); } void setdep(char dp[]) { dep=new char[strlen(dp)+1]; // ( 4) strcpy (dep, dp); } char *getjob() { return job; } char *getdep() { return dep; }};class Engineer: virtual public Person // ( 5){ char *major; // 专业 char *prof; // 职称public: Engineer () { } void setmajor(char maj []) { major=new char[strlen(maj)+1]; // ( 6) strcpy (major,maj); } void setprof(char pf[]) { prof=new char[strlen(pf)+1]; // ( 7) strcpy (prof, pf); } char*getmajor() { return major; } char*getprof() { return prof; }};class chairman:public Leader,public Engineer{ } ; // ( 8)int main(){ chairman c; c.setname("张三"); c.setage(42); c.setjob("处长"); c.setdep("技术处"); c.setmajor("轮机设计"); c.setprof("高级工程师"); cout <<c.getname() << "," <<c.getage()<<" 岁,担任" <<c.getdep() <<c.getjob() <<endl; cout <<c.getprof() << ",从事" << c.getmajor()<< "专业" << "。 " << endl; return 0;}
运行结果:
0 0
- 第十二周程序填空
- 第十二周:程序填空
- 第十二周 程序填空
- 第十二周 程序填空
- 第十二周程序填空
- 第十二周程序填空-多重继承
- 第十二周 程序填空:多重继承
- 第十二周 程序填空-多重继承
- 第十五周--程序填空
- 第12周-程序填空
- 第十五周项目:程序填空
- 程序填空
- 程序填空
- 程序填空
- 程序填空
- 程序填空
- 程序填空
- 填空程序
- Codeforces Round #304 (Div. 2)
- 4-7
- uva 12166 bfs
- linux awk命令详解
- hdu 1594 树状数组 水题
- 第十二周:程序填空
- kvm内存虚拟化及其实现
- .NET版三层登录问题集锦
- 青蛙跳台阶
- padding与margin区别
- 信息安全领域相关术语介绍
- XML中DTD,XSD的区别与应用
- Delphi 调用打印指令ZPL--USB
- Android中一直走马灯效果的TextView