///公有继承
#include<iostream>
#include<string>
class person
{
private:
char name[20];
int age;
bool sex;///0代表女,1代表男
public:
person()
{
strcpy(name, "");
sex = 1;
age = 0 ;
}
person(char* strName ,bool bSex ,int nAge)
{
setName(strName);
setSex(bSex);
setAge(nAge);
}
void setName(char* strName)
{
strcpy(name ,strName);
}
void setSex(bool bSex)
{
sex = bSex;
}
void setAge(int nAge)
{
age = nAge;
}
void display()
{
using namespace std;
cout<<"姓名为: "<<name<<endl;
cout<<"性别为: "<<(sex == 1 ? "男" : "女")<<endl;
cout<<"年龄为: "<<age<<endl;
}
};
class student : public person
{
private:
char SID[20];
public:
student()
{
strcpy(SID,"");
}
student(char* strName ,bool bSex, int nAge , char* strID)
{
setName(strName);
setSex(bSex);
setAge(nAge);
setSID(strID);
}
void setSID(char* strID)
{
strcpy(SID ,strID);
}
void display()
{
using namespace std;
person::display();
cout<<"学号为: "<<SID<<endl;
}
};
void main()
{
using namespace std;
student s1("林燕" , 0 ,25 ,"10061136"), s2;
cout<<"调用s1.person::display()的输出为:"<<endl;
s1.person::display();
cout<<"调用s1.display()的输出为:"<<endl;
s1.display();
cout<<"调用s2.display()的输出为:"<<endl;
s2.display();
s2.setName("王小明");
s2.setAge (23);
s2.setSex(1);
s2.setSID("10061125");
cout<<"调用s2.display()的输出为:"<<endl;
s2.display();
}
///私有继承
#include<iostream>
#include<string>
class person
{
private:
char name[20];
int age;
bool sex;///0代表女,1代表男
public:
person()
{
strcpy(name, "");
sex = 1;
age = 0 ;
}
person(char* strName ,bool bSex ,int nAge)
{
setName(strName);
setSex(bSex);
setAge(nAge);
}
void setName(char* strName)
{
strcpy(name ,strName);
}
void setSex(bool bSex)
{
sex = bSex;
}
void setAge(int nAge)
{
age = nAge;
}
void display()
{
using namespace std;
cout<<"姓名为: "<<name<<endl;
cout<<"性别为: "<<(sex == 1 ? "男" : "女")<<endl;
cout<<"年龄为: "<<age<<endl;
}
};
class student : private person
{
private:
char SID[20];
public:
student()
{
strcpy(SID,"");
}
student(char* strName ,bool bSex, int nAge , char* strID)
{
setName(strName);
setSex(bSex);
setAge(nAge);
setSID(strID);
}
void setSID(char* strID)
{
strcpy(SID ,strID);
}
void display()
{
using namespace std;
person::display();
cout<<"学号为: "<<SID<<endl;
}
};
void main()
{
using namespace std;
student s1("林燕" , 0 ,25 ,"10061136"), s2;
// cout<<"调用s1.person::display()的输出为:"<<endl;
// s1.person::display();
cout<<"调用s1.display()的输出为:"<<endl;
s1.display();
cout<<"调用s2.display()的输出为:"<<endl;
s2.display();
// s2.setName("王小明");
// s2.setAge (23);
// s2.setSex(1);
s2.setSID("10061125");
cout<<"调用s2.display()的输出为:"<<endl;
s2.display();
}