1.关于继承及访问。 C++中 public,protected, private 访问标号小结,即访问标号使用限制。第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。 ...
分类:
编程语言 时间:
2016-09-11 11:29:49
阅读次数:
170
private: 只能由该类中的函数、其友元函数访问,不能被任何其他访问,该类的对象也不能访问. protected: 可以被该类中的函数、子类的函数、以及其友元函数访问,但不能被该类的对象访问 public: 可以被该类中的函数、子类的函数、其友元函数访问,也可以由该类的对象访问注:友元函数包括两 ...
分类:
其他好文 时间:
2016-09-02 13:20:09
阅读次数:
135
1、= ( ) [ ] ->运算符必须是成员函数,是因为是左值操作符; 2、二元运算符建议用友元函数的原因是碰到内置类型数值放前,与对象相加减时,成员函数不支持,如:A a;1+a,得把1转换成A,再调用operator+,如果是成员函数就会有错误,无法调用; 运算符 建议使用 所有一元运算符,如+ ...
分类:
其他好文 时间:
2016-09-01 20:09:40
阅读次数:
144
本来这篇博客是不打算写的,内容不是很难,对于我自己来讲,更多的是为了突出细节。 所谓template friend functions,就是使友元函数本身成为模板。基本步骤:1,在类定义的前面声明每个模板函数。eg:template <typename T> void counts(); templ ...
分类:
其他好文 时间:
2016-08-22 23:30:31
阅读次数:
281
友元函数和友元类在实际开发中较少使用,想快速学习C++的读者可以跳过本节。 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来补充介绍一个例外——友元(friend ...
分类:
编程语言 时间:
2016-08-22 21:32:30
阅读次数:
236
嵌入式linuxC++语言(五)——友元面向对象编程的类的设计机制实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,是类与外部的通信接口。在实践中,类外的某些函数需要频繁地访问类的数据成员,将类外的函数定义为类的友元函数。除了友元函..
分类:
编程语言 时间:
2016-08-16 22:07:00
阅读次数:
200
今天看到流运算符重载的时候有几个疑问,一是为何在只需声明一次friend即可,而不是在两个类之间都使用friend,二是为何不能重载为成员函数。第一个问题:都使用friend,函数需要访问两个类的私有成员第二个问题:重载为了成员函数,但应用上出现了问题,详情见代码。usingstd:..
分类:
其他好文 时间:
2016-08-14 14:48:25
阅读次数:
158
详见http://www.cnblogs.com/assemble8086/archive/2011/10/02/2198308.html 类模板的友元有三种声明: 1)非模板类的友元类或友元函数 create函数成为所有Rect类实例化的友元,它可以访问全局对象;可以使用全局指针访问非全局对象;可 ...
分类:
其他好文 时间:
2016-08-14 14:18:51
阅读次数:
140
重载为友元函数时,一般先在类内用friend关键字声明,然后在类外具体实现(具体实现时不需friend,也不需类名) 重载为普通函数时,直接在类外给出函数实现即可(也不需要类名); 二者的区别在于友元函数对类的数据成员有直接获取权限,而普通函数还要通过类的接口访问数据成员。 ...
分类:
其他好文 时间:
2016-08-05 16:11:45
阅读次数:
142
条款23:宁可用非成员,非友元函数来替代成员函数 1、非成员函数提供了更好的封装性,这个函数内不能访问类的私有成员,封装的越严密我们对类的数据就可以弹性越大的操纵,因为可见这些数据的客户越少,反之数据影响的客户也就越少。 2、c++比较自然的做法-(关系到标准库numplace的组织结构),可以把不 ...
分类:
编程语言 时间:
2016-07-31 22:01:21
阅读次数:
174