exam8.cpp
来自「C++语言程序设计题典」· C++ 代码 · 共 76 行
CPP
76 行
#include <iostream.h>
#include <string.h>
class base //基类
{
char *name; //姓名
int age; //年龄
public:
base() {}
void setname(char na[])
{
name=new char[strlen(na)+1];
strcpy(name,na);
}
void setage(int a)
{
age=a;
}
char *getname() { return name; }
int getage() { return age; }
};
class leader:virtual public base //领导类
{
char *job; //职务
char *dep; //部门
public:
leader() {}
void setjob(char jb[])
{
job=new char[strlen(jb)+1];
strcpy(job,jb);
}
void setdep(char dp[])
{
dep=new char[strlen(dp)+1];
strcpy(dep,dp);
}
char *getjob() { return job; }
char *getdep() { return dep; }
};
class engineer:virtual public base //工程师类
{
char *major; //专业
char *prof; //职称
public:
engineer() {}
void setmajor(char maj[])
{
major=new char[strlen(maj)+1];
strcpy(major,maj);
}
void setprof(char pf[])
{
prof=new char[strlen(pf)+1];
strcpy(prof,pf);
}
char *getmajor() { return major; }
char *getprof() { return prof; }
};
class chairman:public leader,public engineer //主任工程师类
{};
void main()
{
chairman c;
c.setname("李明");
c.setage(42);
c.setjob("处长");
c.setdep("设计处");
c.setmajor("电站锅炉设计");
c.setprof("高级工程师");
cout << "输出结果:" << endl;
cout << " " << c.getname() << ",年龄" << c.getage()
<< "岁,担任" << c.getdep() << c.getjob() << "," << endl;
cout << " " << c.getprof() << ",从事" << c.getmajor()
<< "专业" << "。" << endl;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?