为了账号安全,请及时绑定邮箱和手机立即绑定
嗯,键盘不错。

最赞回答 / 慕设计7231163
有两个很好的作用:       一个作用是改变运算符的本来运算方式,比如我定义一个类有两个数据成员m_iX和m_iY,把一个运算符重载函数名写成Coor& operator++()的形式,但是在定义函数的时候却定义成m_iX和m_iY自减即{--m_iX;--m_iY},那么我实例化一个Coor的对象c(2,2),并在主函数中做++c时,实际运行的却是c中的所有数据成员自减,结果等于(1,1),所以运算符重载相当于把运算符重新定义。        另一个是把对象直接作为一个数据可以反馈出来,简化了...
感谢James

已采纳回答 / 慕田峪7409042
比如将全局函数fun(A a)声明为类A的友元函数,那么fun(A a)中就可以调用类A中的private和protect属性的成员,如果不做此声明,那么便不可以访问。

最新回答 / Chaowei_Shi
没有主意面积和周长的函数是return出一个值的,所以一定不能是void了。return的值是根据typename T定的(可能是int,也可能是double),所以定义的时候用T来定义. 然后就是拼写错误 > <! 
刚学完 真是非常好非常好非常好的入门教学视频 真心点赞
既然可以使用友元函数,那为啥还要把成员变量变成私有,直接公有的不就行了
int x = 10;
int y = 20;
// 调用模板函数
swapNum(x,y);不需要写成swap&lt;int,int&gt;(x,y);
Coordinate Coordinate operator+(Coordinate &amp;c),第一个Coordinate是表示类名,第二个Coordinate是表示数据类型。
Coordinate operater(int),int是标识++做的是后置重载
前定义Watch(&amp;t):m_tTime(t){};Watch实例化一个w的对象,里面的参数是t,传递给m_tTime,然后用m_tTime.display()访问m_tTime的私有变量.
正常构造函数应该是Watch(int hour,int min,int sec):m_tTime(hour,min,sec){};
老师的远征课程对我的帮助很大,感谢老师
vector&lt;int&gt; vec;
vec.push_back(3);
vec.push_back(4);
vec.push_back(8);
vec.push_back(4);
for(int i=0;i&lt;vec.size();i++)
{
cout&lt;&lt;vec[i]&lt;&lt;endl;
}
pair&lt;string, string&gt; p1(&quot;S&quot;, &quot;Shang Hai&quot;);
pair&lt;string, string&gt; p2(&quot;B&quot;, &quot;Bei Jing&quot;);
pair&lt;string, string&gt; p3(&quot;G&quot;, &quot;Guang Zhou&quot;);
m.insert(p1);
m.insert(p2);
m.insert(p3);
课程须知
学习本课程需要有一定的C语言和C++语言基础。如基础不太扎实的同学可以,参与C++远征攻略的学习计划,友情链接 http://www.imooc.com/course/programdetail/pid/42
老师告诉你能学到什么?
1、友元函数及友元类的定义及使用方法 2、静态数据成员和静态成员函数的定义及使用方法 3、运算符重载的技巧 4、函数模板和类模板的定义及使用方法 5、标准模板库的使用方法及基本原理

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消