**
题目:
这是我c++实验的题,下面给出我的答案,有可能理解的不到位,可以选择性的阅读。
#include<bits/stdc++.h>
using namespace std;
class base{
public:
base(int ID,const char *Name,const char *Title)
{
id=ID;
name=new char[strlen(Name)];
title=new char[strlen(Title)];
strcpy(name,Name);
strcpy(title,Title);
}
void display()
{
cout<<"ID:"<<id<<endl
<<"NAME:"<<name<<endl
<<"TITLE:"<<title<<endl;
}
~base();
private:
int id;
char *name;
char *title;
};
base::~base()
{
delete[] name;
delete[] title;
cout <<"name and title are destroyed!"<<endl;
}
class officemanager:public base
{
private:
double salary;
public:
officemanager(int ID,const char*Name,const char* Title,double Salary):base(ID,Name,Title)
{
salary=15000;
}
void showmanager()
{
cout<<"officemanager's message id: "<<endl;
display();
cout<<"SALARY:"<<salary<<endl;
}
};
class parttimer:public base
{
private:
double salary;
public:
parttimer(int ID,const char* Name,const char* Title,double Salary):base(ID,Name,Title)
{
salary=Salary*180;
}
void showtimer()
{
cout<<"parttimer's message is:"<<endl;
display();
cout<<"SALARY:"<<salary<<endl;
}
};
class salesmanager:public base{
private:
double salary;
public:
salesmanager(int ID,const char* Name,const char* Title,double Salary):base(ID,Name,Title)
{
salary=5000+Salary*0.01;
}
void showsalesmanager()
{
cout<<"salesmanager's message is:"<<endl;
display();
cout<<"SALARY:"<<salary<<endl;
}
};
class saler:public base{
private:
double salary;
public:
saler(int ID,const char* Name,const char* Title,int Salary):base(ID,Name,Title)
{
salary=Salary*0.06;
}
void showsaler()
{
cout<<"saler's message is:"<<endl;
display();
cout<<"SALARY:"<<salary<<endl;
}
};
int main()
{
officemanager a(5,"云","公司经理",513);
parttimer b(6,"鼎","兼职",95);
salesmanager c(465,"番","销售经理",15648);
saler d(4565,"酷","销售员",16548);
a.showmanager();
cout<<endl;
b.showtimer();
cout<<endl;
c.showsalesmanager();
cout<<endl;
d.showsaler();
return 0;
}
刚入门C++,如有错误,还请指正。