下列有关一个类的友元函数的叙述中,正确的()
A.允许在类外访问类中除私有成员以外的所有成员
B.允许在类外访问类中的任何成员
C.友元也是该类的成员
D.友元的声明必须被放在该类的公有部分
B、允许在类外访问类中的任何成员
A.允许在类外访问类中除私有成员以外的所有成员
B.允许在类外访问类中的任何成员
C.友元也是该类的成员
D.友元的声明必须被放在该类的公有部分
B、允许在类外访问类中的任何成员
第1题
A、友元函数访问对象的成员不受访问特性影响
B、关键字virtual用于声明友元
C、一个类的成员函数可以是另一个类的友元
D、友元函数通过this指针访问对象成员
第4题
①构造函数重载;②成员函数设置缺省参数;③定义一个友元函数来打印日期(3分);④可使用不同的构造函数来创建不同的对象。
第5题
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;
// 请在下面编写剩余部分
}
第8题
A.类A一定是类C的友元
B.类C一定是类A的友元
C.类C的成员函数可以访问类B的对象的任何成员
D.类A的成员函数可以访问类B的对象的任何成员
第9题
A.派生类不能访问通过公有继承的基类的保护成员
B.派生类的对象可以访问基类的任何成员
C.如果基类有带形参构造函数,派生类可以不声明带形参的构造函数
D.基类构造函数和析构函数都不能够被继承
第10题
A.派生类要向基类的构造函数传递参数
B.多继承时可能会产生二义性
C.派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数
D.一个基类可以有多个派生类,一个派生类可以有多个基类
第11题
A.类是一种用户自定义的数据类型
B.在类中如果不做特别说明,所有成员函数都是公有的
C.只有类中的成员函数才能访问该类的私有成员
D.在类中如果不做特别说明,所有数据成员都是私有的