急求急求!——程序设计题!虚基类!初学者,应该不算难!!速回!!急用!!

2025-01-05 00:49:47
推荐回答(2个)
回答1:

本题程序如下:
#include
#include
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<< 输出结果:<cout << << c.getname() << ,年龄 << c.getage()<<岁,担任 <cout << << c.getprof() << ,从事 << c.getmajor()<< 专业 << 。 << endl;
}

本程序的执行结果如下:
输出结果:
李明,年龄42岁,担任设计处处长,
高级工程师,从事电站锅炉设计专业。

回答2:

这么少的分估计没人来弄啊,也是要花好多时间的吧