重要提示:请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
首页 > 考试题库
网友您好,请在下方输入框内输入要搜索的题目:
搜题
如搜索结果不匹配,请联系老师获取答案
扫码添加老师QQ
扫码添加老师微信
题目内容 (请给出正确答案)
[多选题]

关于友元函数的说法正确的是()。

A.友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数

B.友元函数可以访问多个类的私有成员和保护成员

C.在调用友元函数的时候需要使用“.”运算符

D.如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀

答案
查看答案
更多“关于友元函数的说法正确的是()。”相关的问题

第1题

下列关于自定义类的运算符重载的说法中,正确的是()。

A.赋值运算符和下标运算符只能重载为类的友元函数

B.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数

C.赋值运算符合下标运算符只能重载为类的成员函数

D.使用重载的赋值运算符时,左操作数一定是自定义类型

点击查看答案

第2题

下面关于友元函数使用特点的说明正确的是()。

A.友元函数可以绕开成员函数直接访问类的私有和保护成员,避免调用成员函数相关的开销

B.友元函数虽然不是类的成员函数,但是因为友元函数是在类内说明的,所以也带有用this指针

C.友元函数可以以使用类内的所有成员,因此破坏了数据的安全性

D.友元函数的形参如果是类对象,可以用对象名,对象的引用或者对象指针

点击查看答案

第3题

重载运算符为成员函数和友元函数时的关键区别在于成员函数具有this指针,而友元函数没有this指针。()
点击查看答案

第4题

什么是友元函数?

点击查看答案

第5题

已知类A是类B的友元,类B是类C的友元,则()

A.类A一定是类C的友元

B.类C一定是类A的友元

C.类C的成员函数可以访问类B的对象的任何成员

D.类A的成员函数可以访问类B的对象的任何成员

点击查看答案

第6题

(C++语言)友元作用是 A、提高程序运行效率B、加强类的封装性C、实现数据的隐藏性D、增加成员函数

(C++语言)友元作用是

A、提高程序运行效率B、加强类的封装性

C、实现数据的隐藏性D、增加成员函数的种类

点击查看答案

第7题

在表达式x+y*z中,+作为成员函数重载的运算符,*作为友元函数重载的运算符,以下叙述中正确的是()

A.operator+有2个参数,operator*有2个参数

B.operator+有2个参数,operator*有1个参数

C.operator+有1个参数,operator*有2个参数

D.operator+有1个参数,operator*有1个参数

点击查看答案

第8题

在重载一运算符时,若运算符函数的形参表中没有参数,则可能的情况是()。

A.该运算符是一个单目运算符

B.该运算符函数有一个隐含的参数this

C.该运算符函数是类的成员函数

D.该运算符函数是类的友元函数

点击查看答案

第9题

下面给出了矩阵类Matrix 定义。为了求两个矩阵对象的乘积, 需要定义一个Matrix的友元函数Mult
iply() 。请按照友元函数Multiply()的声明编写出该函数的定义。

class Matrix {

public:

Matrix(int row,int col); // 构造一个具有row 行col 列的矩阵

~Matrix() {delete []mem;} // 析构函数

friend bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3);

// 定义Multiply() 为友元函数,该函数把m1×m2的值赋给m3

// 其他成员函数从略

private:

int *mem; // 动态申请矩阵空间

const int rows,cols; // 矩阵的行数和列数

};

Matrix::Matrix(int row,int col):rows(row),cols(col)

{

mem = new int[row*col];

}

bool Multiply(Matrix &m1, Matrix &m2, Matrix &m3)

{

// 确定矩阵是否能够进行相乘

if(m1.rows != m3.rows ||m2.cols != m3.cols || m1.cols != m2.rows) return false;

// 定义sum变量,用于计算乘积矩阵m3中每个元素的值

int sum;

// 请在下面编写剩余部分

}

点击查看答案

第10题

下列()能够正确地申明友元函数,让函数fun能够访问类A的私有成员。

A.void fun() friend class A;

B.Friend class A{private: int i; void fun();};

C.class A{private: int i; friend fun();};

D.class A{private: int i; friend void fun();};

点击查看答案
下载APP
关注公众号
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案 购买前请仔细阅读《购买须知》
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《服务协议》《购买须知》
立即支付 系统将自动为您注册账号
已付款,但不能查看答案,请点这里登录即可>>>
请使用微信扫码支付(元)

订单号:

遇到问题请联系在线客服

请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示:请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
请用微信扫码测试
优题宝