-- + --
1. 作为成员重载
class MyClass
{
public:
MyClass operator + (const MyClass & d) cons;
friend MyClass operator+(const MyClass& a1,const MyClass& a2);
};
#######关于返回值类型的讨论########
调用者堆栈里返回一个对象效率很低,处理大型对象时尤其如此。那么能不能返回一个指针或引用呢?答案是不行。
-- == --
class MyClass
{
public:
bool operator==(const String & c) const;
friend bool operator==(const MyClass & c1, const MyClass & c2);
};
-- << --
## <<和>>只能定义成友员函数, 因为他们的返回值是ostream/istream, 而不是
class MyClass
{
public:
frient ostream& operator << (ostream& os, const MyClass &m)
{
os << m.members;
return os;
}
}
-- = --
class MyClass
{
public:
MyClass& operator=(const MyClass& o)
{
this->data = o.data;
return
*this;
}
}
-- ++ --
// myclas ++; //means x.operator++(int);
MyClass operator++(int)
{
MyClass t = *this;
++data;
return t;
}
// ++myclass; //means x.operator++();
MyClass& operator++()
{
++data;
return *this;
}
friend MyClass& operator++(MyClass& a);
friend MyClass operator++(MyClass& a, int);
1442

被折叠的 条评论
为什么被折叠?



