【单选题】已知类A是类B的友元,类B是类C的友元,则 。
A.类A一定是类C的友元
B.类C一定是类A的友元
C.类C的成员函数可以访问类B的对象的任何成员
D.类A的成员函数可以访问类B的对象的任何成员
时间:2023-11-14 16:10:01
相似题目
-
一个类的友元函数或友元类可以访问该类的()。
A . 私有成员
B . 保护成员
C . 公有成员
D . 所有成员
-
某类中的友元类的所有成员函数可以存取或修改该类中的私有成员。
A . 正确
B . 错误
-
若要把函数voidf()定义为类aClass的友元函数,则应该在类aClass的定义中加入的语句是()。
A . voidf();
B . staticvoidf();
C . friendf();
D . friendvoidf();
-
Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()
A . C不仅继承了B中的成员,同样也继承了A中的成员
B . C只继承了B中的成员
C . C只继承了A中的成员
D . C不能继承A或B中的成员
-
若类B是类A的私有派生类,类C是类B的公有派生类,则类C的对象( )直接访问类A的公有成员。
-
一个类A若声明为另一个类B的友元类,则意味着类A中的所有成员函数都是类B的___________。
-
类 B 是类 A 的公有派生类,类 A 和类 B 中都定义了虚函数 func() , p 是一个指向类 A 对象类型的指针,则 p->func() 将 ( ) 。
-
已知类A是类B的友元,类B是类C的友元,则:
-
当类A成为类B的友元类时,以下说法正确的是( )
-
一个类的友元函数或友元类能够通过成员操作符访问该类的( )。
-
类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A的指针,则p->func()将()
A.调用类A中的函数func()
B.调用类B中的函数func()
C.根据p实际所指对象类型确定调用A或B类中的函数func()
D.同时调用A类和B类中的函数func()
-
已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=&a;,则下面语句正确的是()。A.语句p=
已知一个类A,其中Fun()函数是类A的一个成员函数,A*p,a;p=&a;,则下面语句正确的是()。
A.语句p=&a;是把对象a赋值给指针变量p
B.语句A*p,a;p=&a;调用两次类A的构造函数
C.对语句*p.fun();的调用是正确的
D.语句 p->fun();和语句 a.fun();等价
-
假定有类定义class A; 现在想要输出A类对象a的值,正确的是() ① 将运算符<<重载为A的成员函数; ② cout<<a; ③ 将运算符<<重载为A的友元函数; ④ 在类A中定义公有成员函数display(),通过调用a.display()输出a的值
A.①②③
B.②③④
C.①③④
D.③④
-
类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将()。
A.调用类A中是函数func()
B.调用类B中是函数func()
C.根据P所指的对象类型而确定调用A中或类B中的函数func()
D.既调用类A中函数,也调用类B中的函数
-
类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将________。
A.调用类A中的函数func()
B.调用类B中的函数func()
C.根据p所指的对象类型而确定调用类A中或类B中的函数func()
D.既调用类A中函数,也调用类B中的函数
-
若要把类 FriendClass 定义为类 MyClass 的友元类,则应在类 MyClass 的定义中加入语句【】。
若要把类 FriendClass 定义为类 MyClass 的友元类,则应在类 MyClass 的定义中加入语句【 】。
-
如果类被说明成类B的友元,则类的成员即类B的成员 B.类B的成员即类的成员 C.类如果类被说明成类B的友元,则类的成员即类B的成员 B.类B的成员即类的成员 C.类的成员函数不得访问类B的成员 D.类B不一定是类的友元
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
-
下列运算符不能重载为友元函数的是()。A.= () [] ->B.+ - ++ --C.> < >= <=D.+= -= *_= /=
下列运算符不能重载为友元函数的是()。
A.= () [] ->
B.+ - ++ --
C.> < >= <=
D.+= -= *_= /=
-
C++语言中的友元函数为在类外访问类中的私有成员和保护成员提供了方便,但破坏了类的 ______ 和 ______。
-
【单选题】以下哪个是类样式?
A.p
B.top
C.left
D..right
-
在你自己定义的类中如果要重载流插入运算符 << ,你必须将该运算符重载为类的友元函数,而不是成员函数,否则就会出现非常奇怪的使用方式。
-
2、Java中,如果类C是类B的子类,类B是类A的子类,那么下面描述正确的是()。
A.C不仅继承了B中的成员,同样也继承了A中的成员
B.C只继承了B中的成员
C.C只继承了A中的成员
D.C不能继承A或B中的成员
-
2、一个类的友元函数或友元类能够通过成员操作符访问该类的()
A.私有成员
B.公有成员
C.保护成员
D.公有成员、保护成员和私有成员
-
下面给出了矩阵类Matrix 定义。为了求两个矩阵对象的乘积, 需要定义一个Matrix的友元函数Multiply() 。请按照友元函数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;
// 请在下面编写剩余部分
}