概念解析 众所周知,面向对象编程语言的特征之一就是封装,不同编程语言对于封装提供的实现有所不同,但原理大体上是相同的。C++提供了三种不同程度的访问权限来实现,主要是通过public、private、protected三个关键字实现的。下面我们来详细分析一下这三个关键字的具体作用和区别。 这三个关键 ...
分类:
编程语言 时间:
2018-09-14 23:10:41
阅读次数:
318
1.友元函数的一般形式: friend <返回类型> <函数名>(<参数列表>); 2.注意点: ...
分类:
编程语言 时间:
2018-09-14 21:29:51
阅读次数:
128
1.封装,public,private作用就是这个目的。 类外只能访问public成员而不能方位private成员; private成员只能被类成员和友元访问; 2.继承,protected的作用就是这个目的; protected成员可以被子类对象访问,但不能被类外的访问; 3.公有继承:class ...
分类:
编程语言 时间:
2018-09-14 20:35:19
阅读次数:
174
friend ostream& operator(ostream &out, Complex &c);template ostream& operator &c){ out << c.a << " " << c.b << endl; return out;} ...
分类:
其他好文 时间:
2018-09-04 17:50:46
阅读次数:
162
IO类属于不能被拷贝的类型,因此只能通过引用来传递。同时读取和写入操作都会改变流的内容,所以接收的是普通引用。 类内的友元声明仅仅指定了访问的权限,需要在友元声明之外再专门对函数进行一次声明。 可变数据成员永远不会是const,即使它是const对象的成员。 友元关系不存在传递性,父类是友元类,子类 ...
分类:
编程语言 时间:
2018-09-03 02:35:23
阅读次数:
203
友元的概念: 友元的用法: 程序示例: 运行结果如下: 友元函数可以提高效率,因为在32、33行我们可以直接访问对象中的成员了,而不再使用功能函数。 友元的尴尬: 注意事项: 示例: 46-49行的程序是不合法的,因为A不是C的友元,友元不能传递。 运行结果如下: 小结: ...
分类:
其他好文 时间:
2018-09-01 20:39:52
阅读次数:
175
面向对象的特性 Abstraction(抽象) Polymorphism(多态) Inheritance(继承) Encapsulation(封装) 类的定义 class Circle{ public: double radius; Circle(){ radius = 1; } Circle(do ...
分类:
编程语言 时间:
2018-08-28 14:21:29
阅读次数:
175
1 //用于sort中的比较函数,定义为ServiceImpl的静态成员函数,比较Book对象中的m_loan_times成员, 降序排序,同时为了能访问Book类中的私有成员,在Book类中声明为友元函数 2 bool ServiceImpl::big_borrow(Book b1,Book b2... ...
分类:
编程语言 时间:
2018-08-25 15:33:40
阅读次数:
171
7.20:友元函数在什么时候有用?请分别说明友元函数的利与弊。 Ans:当一个不是类的成员函数想要访问类内的私有成员时,可以将其设为友元函数,这样该函数就能访问类内的所有成员。 利:提供了非成员函数想要访问类内私有成员的一种方式。 弊:一旦使用不当会破坏类的封装性。 ...
分类:
其他好文 时间:
2018-08-19 22:43:07
阅读次数:
170
友元基本概念: 1,把一个一般函数声明为一个类的友元函数 2,把一个类A的某几个成员函数声明为某个类B的友元函数 3,把一个类A声明为一个类B的友元类。 友元的作用:可以访问类B里所有的成员变量和成员方法,不管是public,protected,还是private。 1,把一个一般函数show声明为 ...
分类:
编程语言 时间:
2018-08-19 22:40:43
阅读次数:
224