隐藏示例(父子关系-成员同名-隐藏):
#include<iostream>
#include<stdlib.h>
using namespace std;
/*
保护继承和私有继承:
要求:1、Person类
数据成员:m_strName
成员函数:构造函数、play();
2、Solder类
数据成员:
成员函数:构造函数、play()、work()*/
//Person类
class Person
{
public:
Person();
void play();
protected:
string m_strName;
};
Person::Person()
{
m_strName="Marry";
}
void Person::play()
{
cout<<"Person--play"<<endl;
cout<<m_strName<<endl;
}
//Soidier类
class Soldier: public Person
{
public:
Soldier();
void play(int x);
void work();
protected:
string m_strName;
};
Soldier::Soldier()
{
}
void Soldier::play(int x)
{
cout<<Person::m_strName<<endl;
cout<<"Soldier--play()"<<endl;
cout<<m_strName<<endl;
}
void Soldier::work()
{
cout<<"Soldier-work()"<<endl;
m_strName="jim";
Person::m_strName="tom";
}
int main(void)
{
Soldier soldier;
soldier.work();
soldier.play(5);
soldier.Person::play();
system("pause");
return 0;
}
打印结果