-
#include
using namespace std;
class date
public:
date(int,int,int);
friend class time;
void displayd()const
coutint month;
int day;
int year;
class time
public:
time(int,int,int);
void display(const date& d);
coutint hour;
int minute;
int sec;
time::time(int h,int m,int s)hour=h;
minute=m;
sec=s;
date::date(int m,int d,int y)month=m;
day=d;
year=y;
int main()
time t1(10,13,56);
date d1(12,25,2004);
return 0;
这有点生硬,所以最好使用继承方法。
-
在苏大版的书中有一个解释。
-
friend 函数不是类的一部分,因此 a 和 b 都是错误的。
friend 函数是在类中声明的,在类外定义,声明时需要添加 friend 关键字,无法指定参数名称,但定义时不能添加 friend 关键字,所以 c 也是错误的。
我选择ABC。
-
1)结构破坏除外!这两个函数不能成为好友,其他成员函数可以成为另一个类的好友。
2)什么是一般功能,这个概念并不严谨,是外在功能!还是全局函数(外部函数和外部静态函数?
这种不是类成员函数的函数可以成为类的好友,这句话是对的!
这种友元可以在类中描述,也可以在类外定义,也可以直接在类中定义,但本质上它仍然是一个外部函数,而不是类的成员,因为它可以看作是类的接口,所以可以在类中定义。
3)一个类也可以成为一个类的好友,一个类可以成为另一个类的好友,类的所有功能都可以看作是该类的好友,该类的所有成员都可以访问!但从语法上讲,这些函数不是友好的元素,类才是! 这种友谊是单向的!
4)一个函数可以是多个类的好友,一个类可以是多个类的好友!
-
友元函数的定义。
友元函数是一个函数,它不是类的成员,但可以访问类的所有成员。
一般函数应该是指非类成员函数,将非类成员函数视为类的友元函数应该是正确的,并且许多运算符重载不是友元函数。
类成员函数被描述为另一个类的成员函数,这也是可能的。
为什么我感觉对?
这是一篇关于朋友元函数的写得很好的文章。
让我们一起学习,找出错误。
-
一般函数可以被描述为某种友元函数——正确。
也可以将一个类的成员函数描述为另一个类的友元函数 --Error:
如果某个类 A 可以被描述为另一个类 B 的朋友,那么 A 的功能都是 B 的朋友。
没有区别。 但一般来说,C叫方法,中文叫方法; 它在C++中称为函数,在中文中称为函数。 你听到或看到的方法和功能其实是一回事,这种事情没必要吹毛求疵。 >>>More