按照以下要求,完成程序设计:。
1)设计一个人类(Person),要求:①具有私有数据成员姓名(name)和性(sex):②具有带瑟构造函数 Person(string name, char sex):③具有显示姓名和性别的堂成员函数 Show0。2)设计一个职工类(Staff),公有继承 Person 类,要求:①增加私有数据成员工(number)、工龄(seniority)和工资(wage):②具有带参构造函数,完成对基类和派生类数据成员的初始化:③具有修改工龄和工资的成员函数 SetO:④具有显示职工信息的贫球员的数 ShowO。3)在主函数中,延义一个职下类对象,初始化姓名为John,性别为:M,工号为:18113001,工龄为:1,下资为: 8888.88,然后输出该职工的所有信息。修改该职工的工龄为:2、T实为:10000.00,再次输出该职工的所有信息。
#include <iostream>
#include <string>
class person{ //定义一个person类。
public:
person(string name,string xuehao,int grade):name(name),xuehao(xuehao),grade(grade){
count++;}//构造函数
person(person &p){
name=p.name;
xuehao=p.xuehao;
grade=p.grade;}//复制构造函数;
~person(){count--;}//析构函数;
void printmessage();//定义公有成员函数,目的是输出信息;
void change();
private:
string name;
string xuehao;
int grade;
static int count;//静态成员count,用于记录对象的个数;
};
int person::count=0; //静态成员的初始化;
void person::printmessage(){ //输出函数的调用;
cout<<"当前person中对象的数量是: "<<count<<endl;
cout<<"姓名:"<<name;
cout<<" 学号:"<<xuehao;
cout<<" 面向对象编程成绩是:"<<grade<<endl;
cout<<"------------------------输出完毕------------------------"<<endl;
cout<<" "<<endl;
}
void person::change(){ //此处又定义了一个函数,目的专门为了修改姓名;
name="张三";
cout<<"将姓名改成了"<<name;
cout<<" "<<endl;
}
void main(){
person p1("赵一","100",100);
p1.printmessage();
person p2("孙二","1000",100);
p2.printmessage();
p1.change();
p1.printmessage();
}
望采纳,谢谢
#include <iostream>
#include <cstring>
#include <stdlib.h>
using namespace std;
//person类定义
class Person
{
//数据成员
protected:
char name[10];
int age;
char sex[10];
public:
//构造函数
Person(char pname[]="",int page=0,char psex[]="")
{
strcpy(name,pname);
age=page;
strcpy(sex,psex);
}
//show函数
void show() const
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
}
};
//定义Teacher类
class Teacher:public Person
{
//新增数据成员
protected:
char title[10];
public:
//构造函数
Teacher(char tname[]="",int tage=0,char tsex[]="",char *ttitle=""):Person(tname,tage,tsex)
{
strcpy(title,ttitle);
}
//新增show函数
void show() const
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"职称:"<<title<<endl;
}
};
//定义Cadre类
class Cadre:public Person
{
//新增数据成员
protected:
char post[20];
int wages;
public:
//构造函数
Cadre(char cname[]="",int cage=0,char csex[]="",char *cpost="",int cwages=0):Person(cname,cage,csex)
{
strcpy(post,cpost);
wages=cwages;
}
//新增show函数
void show() const
{
cout<<"姓名:"<<name<<endl;
cout<<"年龄:"<<age<<endl;
cout<<"性别:"<<sex<<endl;
cout<<"职务:"<<post<<endl;
cout<<"工资:"<<wages<<endl;
}
};
int main()
{
Teacher t("王五",35,"男","副教授");
Cadre c("张姗",27,"女","计算机教师",5000);
t.show();
c.show();
return 0;
}
对这这个例子修改
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632