C++类的保护成员学习笔记 http://blog.csdn.net/qhs1573/article/details/14109463

 

C++类的保护成员学习笔记

标签: c++
  1118人阅读  评论(0)  收藏  举报
  分类:

派生类从基类公有继承时,派生类的成员函数可以直接访问基类的公有成员,但不能访问基类的私有成员。因此,为了便于派生类的访问,可以将基类的私有成员中需要提供给派生类访问的成员定义为保护成员,说白了就一句话,派生类可以访问protected权限的成员但是派生类的对象不能访问基类的成员。

下面是一个实例:

  1. #include <iostream>  
  2.   
  3. /* run this program using the console pauser or add your own getch, system("pause") or input loop */  
  4. using namespace std;  
  5. class Base{  
  6.     //定义一个protected权限的变量供派生类使用   
  7.     protected :  
  8.         int b;  
  9.     public:  
  10.         Base(int i){  
  11.             b=i;  
  12.         }  
  13.         void Print(){  
  14.             cout<<"b="<<b<<endl;   
  15.         }  
  16. };  
  17.   
  18. class Deveried:public Base{  
  19.     private:  
  20.          int d;  
  21.     public:  
  22.         Deveried(int i,int j);  
  23.         void Print(){  
  24.             cout<<"b="<<b<<"\t"<<"d="<<d<<endl;   
  25.         }  
  26. };    
  27. //此处可以初始化protected权限的成员   
  28. Deveried::Deveried(int i,int j):Base(i){  
  29.     d = j;  
  30. }  
  31.   
  32. int main(int argc, char** argv) {  
  33.     Base b(5);  
  34.     Deveried d(4,5);  
  35.     b.Print();  
  36.     d.Print();  
  37.     //d.b;    //注意这句话编译时会出错派生类的对象不能访问基类的protected权限的变量,想要访问必须改成public权限的   
  38.     return 0;  
  39. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值