プログラムを作成します:
Teacher を作成し、パブリックな方法で Person クラスの保護された型の
データ メンバーint StaffId を継承します; //従業員 ID の給与を 2 倍にします;//Salaryパブリック メンバー メソッド: 1. パラメーターを持つコンストラクター (初期化リスト呼び出し) 2. void printTeacher() メソッド本体は親クラスの printperson() を呼び出し、staffId と給与を出力します。 入力:なし出力: jack M 22 110 3888
#include <iostream>
#include <string>
using namespace std;
class Person{
protected:
string name;
char sex;
int age;
public:
Person(){
}
Person(string name,char sex,int age):name(name),sex(sex),age(age){
}
void printPerson(){
cout<<name<<" "<<sex<<" "<<age<<endl;
}
};
class Teacher:public Person{
//继承
protected:
int staffId;//员工
double salary;工资
public:
Teacher(string name,char sex,int age,double st,double sa):Person(name,sex,age){
staffId=st;
salary=sa;
}
void printTeacher(){
Person::printPerson();//调用父类函数
cout<<staffId<<" "<<salary<<endl;
}
};
int main(void) {
Teacher teacher("jack",'M',22,110,3888);
teacher.printTeacher();
return 0;
}
プログラムを作成します:
Professor を作成し、パブリックな方法で Person クラスを継承し、Teacher クラスが
データ メンバーを保護します:
string Research; //研究
方向の
パブリック メンバー メソッド: 1. パラメーターを持つコンストラクター (初期化リストは 2 つの構造を呼び出します)
2. void showMessage() メソッドの本体は親クラスの printperson() と printTeacher() を呼び出し、リサーチを出力します; 入力 :
太字
スタイル
、出力なし
:
jack M 22
110 3888
人工知能
#include <iostream>
#include <string>
using namespace std;
class Person{
protected:
string name;
char sex;
int age;
public:
Person(){
}
Person(string name,char sex,int age):name(name),sex(sex),age(age){
}
void printPerson(){
cout<<name<<" "<<sex<<" "<<age<<endl;
}
};
class Teacher {
protected:
int staffId;
double salary ;
public:
Teacher(){
}
Teacher(int staffId,double salary):staffId(staffId),salary(salary){
//初始化列表
}
void printTeacher(){
cout<<staffId<<" "<<salary<<endl;
}
};
class Professor:public Person,Teacher{
//多继承
protected:
string research;
public:
Professor(string name,char sex,int age,int staffId,double salary,string r):Person(name,sex,age),Teacher(staffId,salary){
//调用父类构造函数
research=r;
}
void showMessage(){
//派生类内部或对象需要访问基类的同名函数,必须在前面加上“基类名::”进行限定
printPerson();//调用父类函数
printTeacher();//同名时:Teacher::printTeacher();
cout<<research<<endl;//输出
}
};
int main() {
Professor professor("jack",'M',22,110,3888,"人工智能");
professor.showMessage();
return 0;
}