55问答网
所有问题
当前搜索:
友元函数重载和成员函数重载
为类Matrix重载下列运算符号时,只能作为Matrix类
成员函数重载
的...
答:
【答案】:B B。【解析】赋值运算符只能作为
重载函数
的
成员函数
,其他运算符都可以作为
友元函数重载
。
重载和友元函数
答:
呵呵,又是这个问题,我去年碰到的.是VC6.0的 bug,具体情况可到下面这个地方看看 http://community.csdn.net/Expert/topic/5252/5252014.xml?temp=.8819391
C++
友元函数重载
运算符“>>”
答:
友元
流输入的标准声明应该是 friend std::istream& operator>>(std::istream& stm, Complex& obj);流输入>>需要两个参数 第一个是流对象 第二个是要读取数据存放到的对象 因为你需要 stm >> a >> b这样的操作所以要返回stream本身的引用 ...
...的
友元
类,来在另一个类中访问当前类的私有
成员
。()
答:
它只能出现在类定义的内部,友元声明可以出现在类中的任何地方。使用友元类优点:1、可以灵活地实现需要访问若干类的私有或受保护的
成员
才能完成的任务;2、便于与其他不支持类概念的语言(如C语言、汇编等)进行混合编程;3、通过使用
友元函数重载
可以更自然地使用C++语言的IO流库。
C++运算符
重载
做
友元函数
的综合问题
答:
伪代码描述一下c=b+2,相当于调用c.operator =(int &a = 2);也就是说你那样声明定义错误就是和int &ref = 2010;这样的错误一样。把Complex operator+(int &);改为Complex operator+(int);定义处也随着改就可以了。或者调用时候这样写:int m = 2; //避免直接引用到数字上 Complex a(1,...
编写程序定义类Point,有数据
成员
x,y,为其定义
友元函数
实现
重载
“+...
答:
include<iostream> using namespace std;class Point{ private: double x,y; public: Point(); Point(double x,double y); Point(Point& p); void setX(double x); void setY(double y); double getX(){return x;} double getY(){return y;} void print...
C++运算符
重载
:为什么流运算符不能重载为
成员函数
?
答:
试想一下这一点:将我们的类派生于ostream,也就是做为流类的子类,这样,不就可以将插入运算符声明为
成员函数
,并且用法也与
友元
方式下一样了吗?那么为什么还要声明为友元呢?原因上面回答者也说了一些。。。不能
重载
的根本原因在于,大部份的标准库实现中,对ostream,istream类体系采用了构造函数保护...
vc 6.0中的
友元函数
是怎么回事啊
答:
解决
方法
:方法一:去掉using namespace std;改成较小的名字空间。比如有#include <string> 则使用using std::string 有#include <iostream> 则使用using std::cout,using std::cin等等。其他的标准头文件以此类推。方法二:
友元函数
的定义直接在类里面写 方法三:换一种编译器 其中个人觉得用方法...
error C2248,
友元函数
无法访问类的私有
成员
,哪里错了
答:
如果没估计错,你用的是 vc++ 6.0。vc++6.0 没有完全实现 C++ 标准,它所提供不带后缀 .h 的头文件不支持把
成员函数重载
为
友元函数
。把 #include <iostream> 换成:#include <iostream.h> 再把 using namespace std; 删除。如果可以,把 vc++ 6.0 最好换成 VS2010。
定义类的非
成员函数
运算符
重载
必须声明为
友元函数
吗?
答:
不一定。声明为
友元函数
,可以操作类的私有
成员
。不是友元函数,不能操作私有成员,但可以通过公有成员操作私有成员(如果需要的话)。
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜