C++ friend
如果类A希望类B可以访问它的私有成员,
// 类A,希望把私有成员公开给类B
class A
{
friend class B;// 把B设置为友元类
public:
A(int i):m_i(i){}
private:
int m_i;
int getInt(){return 100;}
};
// 类B,希望访问类A中的私有成员
class B
{
public:
B(A a):m_a(a),m_n(a.m_i){}
void setInt(){m_n = m_a.m_i;}//访问私有变量
int getInt(){return m_a.getInt();};//访问私有函数
private:
int m_n;
A m_a;
};
void main()
{
A a(8);
B b(a);
int n = b.getInt();
}
随机推荐
- CSS3系列二(媒体支持、文字与字体相关样式、盒相关样式)
CSS3媒体支持 在css3中允许我们在不改变内容的情况下,在样式中选择一种页面的布局以精确的适应不同的设备,从而改善用户体验 可以利用meta标签在页面中指定浏览器在处理本页面时按照多少像素的窗口宽 ...
- 慎用 Enum.GetHashCode()
公司里遗留下了相当多的 Enum.GetHashCode()来获取枚举值的代码 但是这会产生装箱行为的!!因为Enum是值类型,GetHashCode()是Object的方法,调用GetHashCod ...
- 第一部分 mongodb 基础篇
什么是NoSQL认识MongoDBMongDB的下载与安装MongoDB的体系结构常用命令(基本的增删改查)客户端GUI工具集合 一: 什么是NoSql1 NoSQL简介NoSQL是Not Only ...
- json格式不对引起的报错
报JSONDecondeError这种类型的错误的时候就要检查下json格式是否是正确的了,这里提供一个http://www.bejson.com/ Traceback (most recent ca ...
- 仿51job.com城市选择框特效
650) this.width=650;" border="0" alt="" src="http://img1.51cto.com/att ...
- jsp页面添加一个集合数组到action(用序列化提交)
页面的js //点击a标签增加删除 var i=0; $("#a").on("click",function(){ var $newtr = $("& ...
- JQUERY 模糊选择
JQUERY 模糊选择 [属性名称] 匹配包含给定属性的元素 [att=value] 匹配包含给定属性的元素 [att*=value] ...
- windows路径操作API函数
备用,方便查找: PathRemoveArgs 去除路径的参数 PathRemoveBackslash 去除路径最后的反斜杠"\" PathAddBackslash 在 ...
- hiho一下 第九十七周 数论六·模线性方程组
题目1 : 数论六·模线性方程组 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho:今天我听到一个挺有意思的故事! 小Hi:什么故事啊? 小Ho:说秦末,刘邦的将军 ...
- LBP
参考:http://www.cnblogs.com/mikewolf2002/p/3438698.html