最赞回答 / 慕设计7231163
有两个很好的作用: 一个作用是改变运算符的本来运算方式,比如我定义一个类有两个数据成员m_iX和m_iY,把一个运算符重载函数名写成Coor& operator++()的形式,但是在定义函数的时候却定义成m_iX和m_iY自减即{--m_iX;--m_iY},那么我实例化一个Coor的对象c(2,2),并在主函数中做++c时,实际运行的却是c中的所有数据成员自减,结果等于(1,1),所以运算符重载相当于把运算符重新定义。 另一个是把对象直接作为一个数据可以反馈出来,简化了...
2017-11-02
已采纳回答 / 慕田峪7409042
比如将全局函数fun(A a)声明为类A的友元函数,那么fun(A a)中就可以调用类A中的private和protect属性的成员,如果不做此声明,那么便不可以访问。
2017-10-29
最新回答 / Chaowei_Shi
没有主意面积和周长的函数是return出一个值的,所以一定不能是void了。return的值是根据typename T定的(可能是int,也可能是double),所以定义的时候用T来定义. 然后就是拼写错误 > <!
2017-10-25
Coordinate Coordinate operator+(Coordinate &c),第一个Coordinate是表示类名,第二个Coordinate是表示数据类型。
2017-10-19
vector<int> vec;
vec.push_back(3);
vec.push_back(4);
vec.push_back(8);
vec.push_back(4);
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}
vec.push_back(3);
vec.push_back(4);
vec.push_back(8);
vec.push_back(4);
for(int i=0;i<vec.size();i++)
{
cout<<vec[i]<<endl;
}
pair<string, string> p1("S", "Shang Hai");
pair<string, string> p2("B", "Bei Jing");
pair<string, string> p3("G", "Guang Zhou");
m.insert(p1);
m.insert(p2);
m.insert(p3);
pair<string, string> p2("B", "Bei Jing");
pair<string, string> p3("G", "Guang Zhou");
m.insert(p1);
m.insert(p2);
m.insert(p3);