友元函数要在一个类体内说明,形式为:
形式
friend 类型名 友元函数名(形参表);
然后在类体外对友元函数进行定义,定义的格式和普通函数相同,但可以通过对象作为参数直接访问对象的私有成员
友元函数说明如下
:
1)必须在类的说明中说明友元函数,说明时以关键字friend开头,后跟友元函数的函数原型,友元函数的说明可以出现在类的任何地方,包括在private和public部分;
2)注意友元函数不是类的成员函数,所以友元函数的实现和普通函数一样,在实现时不用"::"指示属于哪个类,只有成员函数才使用"::"作用域符号;
3)友元函数不能直接访问类的成员,只能访问对象成员,
4)友元函数可以访问对象的私有成员,但普通函数不行;
5)调用友元函数时,在实际参数中需要指出要访问的对象,
6)类与类之间的友元关系不能继承。
相关推荐
友元函数,类外普通函数声明为类的友元,之后即可与类共享数据
这是关于C++中、如何将普通函数声明友元函数的、求间隔日期的例子。适用于C++初学者学习用。
友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。...通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)。
一个实例,实现运算符重载(成员函数和非成员函数两种方式),友元函数的使用,注意事项等,自己学习时编写的,
私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。
本文档详细介绍了C++友元函数及友元类,方便大家对比学习
友元函数的好例子 lass X { private: int i; public: X(int ii) { i=ii; } int getX() { return i; } friend int g(X x
日期类Date包含日期的年、月、日三个数数据成员,编写一个友元函数,求两个日期之间相差的天数; 重要的是理顺:这个函数不是Date类的成员函数
友元函数的的函数重载 是自己用过的,绝对正确
c++ demo,重载运算符,友元函数的实现
采用C++语言实现的日期时间合并输出(友元函数)
友元函数的应用,请大家好好学习的,为将来应付靠水!
一、友元介绍我们知道,类的成员函数可以访问同类的其他成员函数,包括公有、私有和保护成员。...友元函数注意事项:1、友元函数不是类的成员函数,在函数体中访问对象的成员,必须用对象名加运算符“.”加对
C++中友元函数的例子,可以通过这些例子认识友元函数
这主要是运用了友元函数,实例是时间与日期这两个类直接的友元函数。
把谭书上的例子写了一下,有空就看看。从例子中就可以看出它的一些原理。
模板类友元函数的一个源代码例子。
(1) 定义一个Boat和Car两个类,他们都具有私用属性--重量; (2)编写一个函数,计算两者的重量和。
友元函数和友元类的需要:类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又...
设计一个点(Point)类,其中包括一对坐标数据成员、一个求两点之间距离的友元接口和显示坐标点的成员函数,并用数据进行测试。 (2)程序设计说明 ① 在头文件中声明类,在源文件中定义类的成员函数,采用构造函数...