网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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++中数组形参的迷雾.
.用C实现exp函数!.
.日历表的显示.
.简易实现网上动态信息发布.
.生成静态连接库.
.理解 C++ Builder&nbs.
.C趣味程序百例(15).
.五子棋.
.查看系统的cpp (C PreProcessor).
.关于全排列算法,大家请指导!.
.Windows Sockets:字节排序.
.常见 Datagrid 错误.
.C++箴言:理解 new-handler.
.C语言程序设计经典实例之九.
.VC++实现COM事件接收器.
.C++ BUILDER 动态建立.
.C++多态技术.
.C程序实现汉字内码与GB码.
.在16色模式下显示256色及全彩色.
.Windows中控制台程序的全屏模式开.

C++/CLI思辨录之再谈继承

发表日期:2008-3-8



  在面向对象编程领域一个要害的概念是继续。

  在OO和C++中,类成员共有三种级别的继续:public,protected和private。对于基类成员的存取操作应该依靠于下面两个因素:

  ·派生类声明其类头(public, protected 或 private)的方式

  ·对类成员的存取指定标志(public, protected 或 private)

  假如你在基类中声明成员为private,那么这些成员对于任何派生类都是不可存取的。

  假如你在基类中声明成员为protected,而且新类是基类的私有派生,那么这些成员在派生类中变为私有的。

  假如你在基类中声明成员为protected,而且新类是基类的protected 型派生,那么这些成员在派生类中变为protected 的。

  假如你在基类中声明成员为protected,而且新类是基类的public 型派生,那么这些成员在派生类中变为protected的。

  假如你在基类中声明成员为public,而且新类是基类的private 型派生,那么这些成员在派生类中变为private 的。

  假如你在基类中声明成员为public,而且新类是基类的protected 型派生,那么这些成员在派生类中变为protected的。

  假如你在基类中声明成员为public,而且新类是基类的public 型派生,那么这些成员在派生类中变为public 的。

  这是一些老式的C++规则。在.Net中,情况就大大不同了-.Net仅支持public继续。但是当一个类被public继续,则基类的保护成员将对新的派生类成为private的。

  考虑下面的三个C++类:

class A
{
 protected: void fa()
 { printf("fa called"); }
};
class B : public A
{
 public: void fb()
 { fa(); }
};
class C : public B
{
 public: void fc()
 { fa(); }
};
int main()
{
 C c;
 c.fc();
 return 0;
}
  根据我前面介绍的规则,在C++中这些代码是能成功运行的。但是假如你把它们改变为托管类,则在类c中是不能调用fa()的。
上一篇:在StringGrid中用右键菜单实现复制粘贴 人气:538
下一篇:在可管理C++中封装值类型 人气:538
浏览全部C/C++的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐