进入旧版 | 服务项目 | 成功案例 | 联系方式 | 过客留言 | 友情链接
   
设为首页
加入收藏
联系我们
网站首页 | 新闻资讯 | 操作系统 | 办公软件 | 网络软件 | 工具软件 | 媒体动画 | 网页制作 | 网站开发 | 程序开发 | 平面设计
Photoshop视频教程 | Word入门 | Flash入门 | JScript | VBScript | ASP | PHP | ADO | 网页特效 | 3DS MAX6.0命令 | 系统进程
您当前的位置:GOODSGY电脑学习网 -> 程序开发 -> VC -> 文章内容  
C++中巧用#define访问类的私有成员

我们知道,类的私有成员在类的外部是不能被访问的。

  例如有下面的这个简单的类:

class ClxECS
{
private:
int iPrivate;
};

  那么下面的这个函数是不能通过编译的:www.goodsgy.com

void ECS_test()
{
ClxECS lx;
lx.iPrivate = 13;www.goodsgy.com

cout << lx.iPrivate << endl;
}www.goodsgy.com

  但是,我们并不是没有办法来访问类的私有成员。

  其实,方法很简单,只要在类的声明前面加上如下一行代码就行了:www.goodsgy.com

#define private public

  同样的,这个方法对保护成员也适用:www.goodsgy.com

#define protected public

  但是,这是一个非正规的手段,它将破坏类的所有封装性。而C++中的#define的存在也是为了跟C兼容。所以只有在非常特殊的情况下,才会用这种非正规方法访问类的私有或保护成员。www.goodsgy.com

在百度中搜索:C++中巧用#define访问类的私有成员
在Google中搜索:C++中巧用#define访问类的私有成员
在Yahoo中搜索:C++中巧用#define访问类的私有成员

收藏到网摘:新浪VIVI 365key 我摘 POCO网摘 博采中心 YouNote 和讯网摘 天天收藏
[] [返回上一页] [打 印] [收 藏]

 相关文章    最新文章
· SPARC中如何安装Linux系统
· C++中禁止异常信息传递到析构函数外
· C++中理解“传递参数”和异常之间的差异
· 在C++中审慎使用异常规格
· VC中利用MFC设计绘图程序初步
· 深入理解C++中的mutable关键字
· 在VC中链接动态链接库的方法简要说明
· C++中要求(或禁止)对象产生于heap中
· 在VC中实现画任意方向
· C++中运算符优先级的学习注解
 
· VC实现系统热键激活后台服务程序
· SEO:关于baidu一些排名规则的讨论
· More Effective C++:不要重载的操作符
· VC利用boost库解析正则表达式
· [图文] 用VC实现对超长数据库字段的操作
· More Effective C++:防止资源泄漏
· 用VC#2005解析含有多种格式的文本文件
· C++中禁止异常信息传递到析构函数外
· [图文] Visual C# 2005实现控件中捕获按键..
· C++中理解“传递参数”和异常之间的差异

∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
站内搜索

精彩图文
  网站导航  
操作系统 办公软件 网络软件
Vista Windows2003 WindowsXP Windows2000/NT Windows9X/ME Linux 其他 Word Excel Powerpoint Outlook 金山系列 其他 网页浏览 上传下载 联络聊天 邮件工具 服务器软件 网络辅助
工具软件 媒体动画 网页制作
系统工具 媒体工具 压缩工具 图文处理 文件管理 其他 3DMAX Authorware Director Maya 视频处理 其他 Flash Dreamweaver FireWorks FrontPage LiveMotion Golive HTML/CSS 其它
网站开发 平面设计 程序设计
ASP JSP PHP CGI JavaScript VBScript XML/SOAP Web服务器 Photoshop PhotoImpact CorelDraw Illustrator Freehand 设计欣赏 其他 VB VC .NET C/C++ DELPHI JAVA

冀ICP备05019428号
Copyright © 2004-2008 电脑学习网 Inc.All rights reserved.
TEL:13832340607
QQ:39873155
E_Mail:goodsgy(#)hotmail.com   (把(#)替换成@)
MSN:goodsgy(#)hotmail.com   (把(#)替换成@)