为了账号安全,请及时绑定邮箱和手机立即绑定
感觉这个友元函数好像一个损友,他可以随意改变朋友类的东西让朋友做错事,然后拍拍屁股说不关我事。
不使用引用是因为
后置加加先得到的值是原来的值,所以要返回原来的值
实际已经改变了引用的值了
不能用auto不开心
c++11之后可以这样简写:
auto citer = vec.begin();
头文件记得要有#include<string>哦!
函数没有返回值,只能传入引用或者传入指针才可以实现交换的功能,大意了。
微软雅黑。我早就换成微软雅黑了
以后养成个好习惯,#include<iostream>和命名空间using namespace std放在.h的头文件里,不放在.cpp的源文件里
通过3个不同的函数模板可以实例化出3个不同的模板函数,这3个不同的模板函数之间就形成了重载;
请注意:
在定义函数模板时,函数模板本身并不构成重载,因为在内存中仅仅将函数模板定义出来并不能在内存当中产生任何的代码,只有去使用它的时候,编译器才会产生出相应的函数代码,这些代码才会体现出彼此之间的重载关系;

已采纳回答 / 幕布斯3021265
是不是没有包含头文件<string>
2017年了,还是不能分开编译么。。。
int Coordinate::operator[] (int index){
switch(index)
{
case 0:
return this-&gt;getX();
break;
case 1:
return this-&gt;getY();
break;
}
return -1;
}
这样更方便一些,效果一样
学完啦,哈哈,感谢感谢
课程须知
学习本课程需要有一定的C语言和C++语言基础。如基础不太扎实的同学可以,参与C++远征攻略的学习计划,友情链接 http://www.imooc.com/course/programdetail/pid/42
老师告诉你能学到什么?
1、友元函数及友元类的定义及使用方法 2、静态数据成员和静态成员函数的定义及使用方法 3、运算符重载的技巧 4、函数模板和类模板的定义及使用方法 5、标准模板库的使用方法及基本原理

微信扫码,参与3人拼团

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

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

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消