|
|

楼主 |
发表于 2013-8-20 16:46:33
|
显示全部楼层
应该是这样子:- #include <IOSTREAM>
- #include <STRING>
- using namespace std;
- class Person{
- public:
- Person(){};
- Person(string name){
- this->name=name;
- cout<<"我是人类构造函数,我的参数是" <<name<<endl;
- }
- void fun(){cout << "我是一个人类函数,我的名字叫" << name << endl; }
- protected:
- string name;
- };
- class Teacher:public Person{
- public:
- Teacher(){};
- Teacher(string name,string pname):Person(pname){
- this->name=name;
- }
- void fun(){cout << "我是一个老师函数,我的名字叫" << name << endl; }
- };
- class Student:public Person{
- public:
- Student(){};
- Student(string name,string pname):Person(pname){
- this->name=name;
- }
- void fun(){cout << "我是一个学生函数,我的名字叫" << name << endl; }
- };
- class TeacherStudent:public Teacher,public Student{
- public:
- TeacherStudent(string name,string tname,string sname,string pname):Teacher(tname,pname),Student(sname,pname){
- this->Teacher::name=tname;
- this->Student::name=sname;
- }
- void fun(){cout << "我是一个助教函数,我的名字叫......" << "有两个name??怎么办??\n一个叫做:" <<Teacher::name<<"\n另一个叫做:" <<Student::name<< endl; }
- };
- int main()
- {
- Person person("人");
- person.fun();
- Teacher teacher("老师","老师人");
- teacher.fun();
- teacher.Person::fun();
- Student student("学生","学生人");
- student.fun();
- student.Person::fun();
- TeacherStudent teacherStudent("助教","老师助教","学生助教","人");
- teacherStudent.fun();
- teacherStudent.Student::fun();
- teacherStudent.Teacher::fun();
- cout<<"程序结束!!!"<<endl;
- return 0;
- }
复制代码 |
|