如果没估计错,你用的是 vc++ 6.0。vc++6.0 没有完全实现 C++ 标准,它所提供不带后缀 .h 的头文件不支持把成员函数重载为友元函数。把 #include <iostream> 换成:#include <iostream.h> 再把 using namespace std; 删除。如果可以,把 vc++ 6.0 最好换成 VS2010。
C解析:友元函数的定义既可以在类内部进行,也可以在类外部进行。它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非成员函数可以访问类的私有成员。 答案: C 友元函数虽然在类的定义中声明,但它不是类的成员函数,友元函数的参数通常是类的 对象。结果...
友元不是成员函数,但是它可以访问类中的私有成员。友元的作用在于提高程序的运行效率(即减少了类型检查和安全性检查等都需要的时间开销),但是,它破坏了类的封装性和隐藏性,使得非成员函数可以访问类的私有成员。 友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类。 友元函数的特点...
我们都知道类中的私有成员,只有被类里的成员函数访问,在类外是不能访问的。这体现了C++中类设计的封装、隐蔽思想,是C++最基本的优点。 但如果偶尔有的时候,我们在类外又确实想访问这些私有成员,就会变得麻烦很多,就处于既访问不到又不能声明为public类型的两难处境。 而友元的出现就可以很好的解决这个问题,即把...
A.友元函数的实现必须在类的内部定义B.友元函数是类的成员C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员相关知识点: 试题来源: 解析 C [解析] 静态数据成员必须在类体外初始化,它是类的所有对象的共有成员,需要使用类名调用,静态数据成员的初始化与权限控制无关。反馈...
C++问题。对于友元函数,描述正确的是【 】A. 友元函数也是类的成员函数 B. 友元函数会破坏类的封装性和隐蔽性C. 友元函数必须在类的内部定义D. 友元函数不能访问类
下面对于友元函数描述正确的是( )。A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封闭性和隐藏性D.友元函数不能访问类的私有成员请帮忙给出正确答案和分析,谢谢! 相关知识点: 试题来源: 解析 正确答案:C 反馈 收藏 ...
关于C++中的友元函数说法正确的是A.友元函数只能访问所在类的保护成员和公有成员,不能访问私有成员B.友元函数是不能被继承的C.友元函数没有this指针D.友元函数破环了
{obj.a_base_private = f;} // OK, 在友元类中,可以访问Base类的私有成员 int getBaseA() const {return obj.getA();} }; void ClearBaseB(CBase &obj) { obj.b_base_protected = 0; // OK, 在友元函数中,可以访问Base类的保护成员 } int main() { int tmp; CBase baseObj; CFriend ...