动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.通过继承实现不同的CheckBox风格.
.高质量C++/C编程指南(八).
.学数学也要学点偷懒的技术(二).
.在c++程序中重启自己的一种方法.
.一步步教你修改CNVBB2.3.0中的联.
.为Windows窗口标题栏添加新按钮.
.牛顿和拉格朗日插值算法.
.C 编程最佳实践.
.罗云彬VxD教程--虚拟设备驱动程序.
.C++箴言:谨慎考虑资源管理类的拷.
.数据结构学习C++——图(1&2&3&4.
.GTK+与MFC不完全对比.
.如何学好C.
.c++友元的入门教程.
.PE文件格式详解(1).
.用任务条跟踪文件下载.
.对C++中引用的补充说明(实例).
.VC下显示JPEG、GIF图像的简便方法.
.如何捕获VCL没有处理的Windows消.
.设计OutLook风格的工具栏.

C++类的继承与多重继承的访问控制

发表日期:2008-3-8 |


  在前面的练习中我们一直在使用public的继续方式,即共有继续方式,对于protected和private继续方式,即保护继续与私有继续方式我们并没有讨论。
  对于单个类来说,讨论保护继续与私有继续的区别意义是不大的,他们的区别只在多级继续的情况中体现。

  在这里我声明一下,对于此章节的内容不太适合用过多的文字进行描述,主要还是看例子,通过例子熟悉之间的关系,过多的文字描述会模糊读者思路。   例程如下(重要部分都做了具体说明): //程序作者:管宁   
//站点:www.cndev-lab.com   
//所有稿件均有版权,如要转载,请务必闻名出处和作者   
 
#include <iostream> 
using namespace std; 
 
class Base 

    public://公有的 
        int a1; 
        virtual void test() = 0; 
    protected://受保护的 
        int a2; 
    private://私有的 
        int a3; 
}; 
//------------------------------------------------------------------------------ 
class ProtectedClass:protected Base//保护继续 

    public: 
        void test() 
        { 
            a1 = 1;//a1在这里被转变为protected 
            a2 = 2;//a2在这里被转变为protected 
            //a3=3;//错误,派生类不能访问基类的私有成员 
        } 
}; 
class ControlProtectedClass:public ProtectedClass//以public方式继续ProtectedClass类 

    public: 
        void test() 
        { 
            a1 = 1;//a1在这里仍然保持为a1在这里被转变为protected 
            a2 = 2;//a2在这里仍然保持为a1在这里被转变为protected 
            //a3=3;//错误,由于Base类成员为私有的,即使是上级父类是保护继续,也不能改变Base类成员的控制类型 
        } 
}; 
//------------------------------------------------------------------------------ 

class PrivateClass:private Base//私有继续 

    public: 
        void test() 
        { 
            a1 = 1;//a1在这里被转变为private 
            a2 = 2;//a2在这里被转变为private 
            //a3=3;//错误,基类私有成员对文件区域与派生类区域都是不可访问的 
        } 
}; 
class ControlPrivateClass:public PrivateClass//以public方式继续PrivateClass类 

    public: 
        void test() 
        { 
            //a1=1;//错误,由于基类PrivateClass为私有继续,a1已经转变为private 
            //a2=2;//错误,由于基类PrivateClass为私有继续,a1已经转变为private 
            //a3=3;//错误,由于Base类成员为私有的,PrivateClass类也为私有继续 
        } 
}; 
//------------------------------------------------------------------------------ 
class PublicClass:public Base//共有继续有区别与其它方式的继续,继续后的各成员不会其改变控制方式 

    public: 
        void test() 
        { 
            a1 = 1;//a1仍然保持public 
            a2 = 2;//a2仍然保持protected 
            //a3=3;//错误,派生类不能操作基类的私有成员 
        } 
}; 
class ControlPublicClass:public PublicClass//以public方式继续PublicClass类 

    public: 
        void test() 
        { 
            a1 = 1;//a1仍然保持public 
            a2 = 2;//a2仍然保持protected 
            //a3=3;//错误,由于Base类成员为私有成员,即使是上级父类是公有继续,也不能改变Base类成员的控制类型 
        } 
}; 
//------------------------------------------------------------------------------ 

int main() 

    system("pause");  
}  认真看完了例子,相信细心的读者对于共有继续、保护继续与私有继续的区别与特点已经了解,最后再提醒一下读者,在继续关系中,基类的private成员不但对应用程序隐藏,即使是派生类也是隐藏不可访问的,而基类的保护成员只对应用程序隐藏,对于派生类来说是不隐藏的,保护继续与私有继续在实际编程工作中使用是极其少见的,他们只在技术理论上有意义。 更多文章 更多内容请看C/C++技术专题  访问控制列表  访问控制列表(ACL)介绍专题,或
上一篇:图文例解C++类的多重继承与虚拟继承 人气:381
下一篇:Eclipse3.06 + MinGW3.1配置标准C/C++开发环境 人气:521
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-9-7 站长中国企业(公司)网站系统 v4.2
2008-9-7 PBDigg v2.0 Build 20080821
2008-9-7 玩玩小游戏FLASH系统 v2.1
2008-9-7 522QQ在线电视直播程序 v1.1
2008-9-7 Pcook cms 文章管理系统 (老Y CM
2008-9-7 仿代码小说小偷系统 v1.0
2008-9-7 百度一搜集成搜索管理系统
2008-9-7 小贤统计器 v1.0
2008-9-7 UCenter Home-中秋搏饼插件 v1.2
2008-9-7 iBlacklist通话黑名单汉化破解补
2008-9-7 EndlessWalls无尽壁纸 v1.0.4破解
2008-9-7 Dynolicious车载测量仪v1.1破解版
2008-9-7 iVoodoo巫毒娃娃1.0.1破解版
2008-9-7 iWallpape精品墙纸1.2破解版
2008-9-7 iChillout自然音效工具1.1破解版
2008-9-7 Todo计划提醒1.2破解版
2008-9-7 allRadio电台集合1.01破解版
2008-9-7 My Money个人理财1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵