标签:cto clu code 现在 return 固定 temp 自动 cstring
老生常谈的问题,N年前仔细做过总结,现在全忘光了;
重载函数:
一定要参数列表不同,名字相同,C++编译器可以根据参数的类型自动调用;
void exc(char& a, char& b) { char temp = a; b = a; b = temp; } void exc(int& a, int& b) { int temp = a; a = b; b = temp; } void exc(string& a, string& b) { string temp=a; a = b; b = temp; }
重载运算符:
重载运算符则是对运算符operator进行重载,方式固定,但是一定要注意什么时候用神马返回值,什么时候形参用引用传递;
还有要注意的是,重载的时候别瞎几把重载,要注意双目单目,并且是否可以被重载的问题;
#include<iostream> #include<fstream> #include<sstream> #include<vector> #include<string> #include<cstring> #include<algorithm> using namespace std; struct node { string s; int v; }; node operator+(node a, node b) { cout << a.s + b.s << endl; node c; c.s = a.s + b.s; c.v = a.v + b.v; return c; } void operator++(node& a) { a.s = "wonderful"; a.v = 1101; } int main(){ node a, b; cin >> a.s >> a.v; ++a; cout << a.s << " " << a.v << endl; return 0; }
标签:cto clu code 现在 return 固定 temp 自动 cstring
原文地址:https://www.cnblogs.com/songlinxuan/p/12368226.html