问题及代码:
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:徐健
*完成日期:2015年5月6日
*版本号:v1.0
*
*问题描述:定义一个教师类一个干部类,定义一个多继承派生类,输出信息
*输入描述: 无
*程序输出:教师兼干部的个人信息
*/
#include <iostream>
using namespace std;
class Teacher
{
public :
Teacher (string name,int age,string sex,string address,int tel,string title);
void display();
protected :
string name;
int age;
string sex;
string address;
int tel;
string title;
};
Teacher::Teacher(string name,int age,string sex,string address ,int tel,string title):name(name),age(age),sex(sex),address(address),tel(tel),title(title){}
void Teacher::display(){
cout<<name<<endl<<age<<endl<<sex<<endl<<address<<endl<<tel<<endl<<title<<endl;
}
class Cadre
{
public:
Cadre(string name,int age,string sex,string address,int tel,string post);
void display();
protected:
string name;
int age;
string sex;
string address;
int tel;
string post;
};
Cadre::Cadre(string name,int age,string sex,string address ,int tel,string post):name(name),age(age),sex(sex),address(address),tel(tel),post(post){}
void Cadre::display(){
cout<<name<<age<<sex<<address<<tel<<post<<endl;
}
class Teacher_Cadre:public Teacher,public Cadre
{
public :
Teacher_Cadre(string name,int age,string sex,string address,int tel,string title,string post,int wages);
void show();
private:
int wages;
};
Teacher_Cadre::Teacher_Cadre(string name,int age,string sex,string address,int tel,string title,string post,int wages):Teacher(name,age,sex,address,tel,title),Cadre(name,age,sex,address,tel,post),wages(wages){}
void Teacher_Cadre::show(){
Teacher::display();
cout<<Cadre::post<<endl;
cout<<wages<<endl;
}
int main()
{
Teacher_Cadre tc("xujian",18,"man","china",12315,"ITteacher","president",1500);
tc.show();
return 0;
}
运行结果:
知识点总结:
这是一个多继承的项目,主要知识点有多继承的派生类中构造函数的写法以及关于访问权限的关键词的用法,如protected这一保护类型的用法。
学习心得:
现在正是五一假期的尾巴,经过了几天的玩乐,心中对于开学不免有些不情愿,在编程时,能够将注意力集中在这些奇妙的语言中,心境自然能够得到平静,对于开学后的生活能够更好的适应并且能够掌握一些新知识。