当基类中的函数被protected的时候,只有继承的子类才能访问,为了使得非继承的类也可以使用,使用friend class (类名)来进行操作 #include <iostream> using namespace std; class Lover{ public: Lover(string th ...
分类:
编程语言 时间:
2020-07-19 23:16:52
阅读次数:
128
在 C++ 中,一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。 现在,我们来介绍一种例外情况——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以 ...
分类:
编程语言 时间:
2020-07-02 16:26:18
阅读次数:
72
如果基类有友元类或友元函数,则其派生类不会因继承关系而也有此友元类或友元函数。如果基类是某类的友元,则这种友元关系是被继承的。即被派生类继承过来的成员函数,如果原来是某类的友元函数,那么它作为派生类的成员函数仍然是某类的友元函数。总之,基类的友元不一定是派生类的友元;基类的成员函数是某类的友元函数,... ...
分类:
编程语言 时间:
2020-06-08 20:46:11
阅读次数:
65
类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。 友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。 ...
分类:
编程语言 时间:
2020-06-07 14:54:32
阅读次数:
79
1、8进制开头加0,16进制开头加0x 2、类的友元函数的访问权限跟类内部的方法相同,但是友元函数不属于本类的对象,一般它是另一个类的成员函数,不能通过本类的this指针进行访问。 3、setw(int)作用是根据输入的int值,保证输出的位数,默认右对齐(可用setiosflags()修改),并用 ...
分类:
编程语言 时间:
2020-06-07 12:53:37
阅读次数:
79
作用:实现自定义类型的运算,类如,struct,class等 实质:把运算符当作函数去实现另一种功能 具体实现格式: 返回值类型 opertor 运算符(参数) { //对复杂操作的打包 } 运算符重载的分类: (1)友元重载:友元函数的形式重载,参数个数 = 操作数 (2)类重载:类的成员函数重载 ...
分类:
其他好文 时间:
2020-05-31 10:48:31
阅读次数:
72
运算符重载 已完成 1.[单选题] 下列运算符不能重载为友元函数的是? A. = () [] -> B.+ - ++ -- C. > < >= <= D. += -= *= /= 我的答案:A 2.[单选题] 下列运算符中,哪个运算符在C++中不能重载? A.?: B.[] C.new D.&& 我 ...
分类:
其他好文 时间:
2020-05-26 15:32:56
阅读次数:
70
感悟:总体分为选择题20,填空题20,分析题(不想做了,直接交卷了),总体考察数据库和C++语法函数偏多,感觉数据库收获挺多的。 选择题:第一二题是关系数据库,windows的I/O之类 下列不是描述类的成员函数的是 A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数 C 友元函数是独立于当 ...
分类:
编程语言 时间:
2020-04-05 13:36:56
阅读次数:
278
友元函数定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。 尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。调用友元函数不需要通过对象和指针作为句柄。 友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。 注意 ...
分类:
编程语言 时间:
2020-03-30 16:24:56
阅读次数:
61
做《C++ Primer》(第5版)253页练习题7.3.4有感,故总结之 1 声明 1.1 变量和函数的声明 常见的声明是声明一个变量或函数,一般在头文件 中声明,例如: 1.2 类的声明 对于一个类,一般是直接在头文件中直接写 ,这称之为类的 定义 ,然后在类体 中又声明或定义了成员变量和成员函 ...
分类:
其他好文 时间:
2020-03-27 09:13:50
阅读次数:
93