最赞回答 / 慕粉3348155
感觉楼主的代码有很多问题啊,我自己验证了下,首先,friend void display(Coordinate &也不是了coor);这句中Coordinate首字母要大写表示一个Coordinate类,小写就什么也不是了,当然后面这句Coordinate t;中也要大写...
2016-05-09
已采纳回答 / qq_子非鱼_27
//friend Coordinate operator+( Coordinate &c1, Coordinate &c2);声明里参数是引用类型的Coordinate operator+(Coordinate c1,Coordinate c2)定义里面却不是,编译器会认为这是两个不一样的函数的<...code...>这样试一下。。
2016-04-20
最新回答 / 慕神3775235
友元是分两种,一种是全局函数友元,一种是成员函数友元,(1)全局函数友元,不属于类,调用时传入的参数一般是常对象的引用,对象可以在函数中直接访问到本类的所以成员。【此全局函数必须声明在传入对象引用的类中】(2)成员函数友元,即是另一个类的函数可以访问到被声明为友元的类中,【记住一点:friend在哪个类中出现,则此函数就是这个类的朋友,这个函数就可以对这个类的所有数据成员通过传入的对象的引用访问到了】
2016-04-19
最赞回答 / 小兔子同学
因为运行到第五行 friend void Circle::printXY(Coordinate &,所以编t)时,其中的Circle类还没定义,所以编译器无法识别。你可以这样试一下:从第三行开始,先写一行前置声明 class Coordinate;然后先定义C...
2016-04-16
最赞回答 / 张俊yun_0
Watch(Time &t): m_tTime(t.m_iHour, t.m_iMinute, t.m_iSecond) {}这句亲测,,也可以用的
2016-03-11
最新回答 / 寒月0
这样的话会形成以一个死循环吧。比如说先编译match,里面有#include<time.h>,那么进入time.h的编译,结果发现time.h里面#include<match.h>,这时候match.h还没有编译完,你让系统怎么办?
2016-02-18