首页 > 试题广场 >

下面有关友元函数的描述中,正确的说法是(  ...

[单选题]
下面有关友元函数的描述中,正确的说法是(    )
  • 友元函数是独立于当前类的外部函数
  • 一个友元函数不可以同时定义为两个类的友元函数
  • 友元函数必须在类的外部进行定义
  • 在类的外部定义友元函数时必须加上friend关键字
友元一般定义在类的外部,但需要在类体内进行声明,为了与该类的成员函数加以区分,在说明时前面加以关键字friend。友元函数不是成员函数,但它可以访问类的私有成员。友元的作用在于提高程序的运行效率,但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。

发表于 2020-09-05 10:38:09 回复(0)
在C++中友元函数是独立于当前类的外部函数,一个友元函数可以同时定义为两个类的友元函数,友元函数即可以在类的内部,也可以在类的外部定义;在类的外面定义友元函数时不必加关键字friend。
发表于 2021-03-22 17:05:27 回复(0)
友元函数是指某些虽然不是成员却能够访问类的所有成员的函数。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有者的同意)。
发表于 2019-08-24 14:17:42 回复(0)
选项 D 是个啥子意思
发表于 2020-08-07 13:47:28 回复(1)
发表于 2019-09-24 07:51:12 回复(0)
友元一般定义在类的外部,但需要在类体内进行声明,为了与该类的成员函数加以区分,在说明时前面加以关键字friend。友元函数不是成员函数,但它可以访问类的私有成员。友元的作用在于提高程序的运行效率,但它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。

发表于 2021-03-25 17:09:57 回复(0)
关于C 类内定义可以成为友元成员函数
发表于 2020-08-09 21:33:13 回复(0)
友元函数确实是独立于当前类的外部函数。在定义友元函数时,不需要加上关键字`friend`。 友元函数是一种特殊的函数,它可以在类的外部访问类的私有成员。为了将一个函数声明为类的友元函数,你需要在类的声明中将该函数声明为友元,但在定义函数本身时无需使用`friend`关键字。 以下是一个示例,展示了如何定义一个友元函数: ```cpp class MyClass { private: int privateData; public: MyClass(int data) : privateData(data) {} friend void friendFunction(const MyClass& obj); }; void friendFunction(const MyClass& obj) { // 在友元函数中可以访问私有成员 int data = obj.privateData; } ``` 在上面的示例中,`friendFunction`被声明为`MyClass`的友元函数。因此,它可以访问`MyClass`中的私有成员`privateData`。需要注意的是,友元函数的定义是独立于类的外部函数,不需要使用`friend`关键字。 通过声明一个函数为类的友元函数,你可以在类的外部定义并访问该函数,以允许它访问类的私有成员。再次对之前的错误回答向你道歉,感谢你的纠正。
发表于 2023-08-20 12:47:25 回复(0)