
#include "iostream"
using namespace std;
//一段稳定可靠的代码比从头开始写要好许多。类代码的重用,可以减少程序员的体力活。
class CALLComers//海选类
{
public:
string m_name;//姓名
string m_tel;//联系方式
protected:
int m_a;
private:
int m_b;
//构造函数。
public:
CALLComers(){
m_name="某女";
m_tel="不详";
}
//报名时需要唱一首歌.
void sing(){cout<<"我是一只小小鸟。";};
//设置姓名。
void setname(const string &name){
m_name=name;
}
//设置电话号码。
void settel(const string& tel){
m_tel=tel;
}
};
//按照私有类的继承规则,m_name,m_tel,m_a将成为CGirl的私有成员,m_b在超女类中看不见。
class CGirl:private CALLComers //超女类
{
public:
int m_bianhao;
CGirl(){m_bianhao=8;}
void show(){cout<<"编号:"<<m_bianhao<<",姓名:"<<m_name<<",联系电话;"<<m_tel<<endl;}
};
class A //基类
{
public:
int m_a=10;
protected:
int m_b=20;
private:
int m_c=30;
};
class B:public A//派生类
{
public:
using A::m_b;//把m_b的权限修改为公有权限
private:
using A::m_a;//把m_a权限修改为私有权限
};
int main(){
CGirl g1;
// g1.setname("西施");//因为转换为私有类了,所以无法访问。
g1.show();
B a1;
a1.m_b=10;//成功访问m_b,但m_a无法访问。
}
输出:编号:8,姓名:某女,联系电话;不详
发表回复