摘要:
[0. 必须定义为类成员的操作符]赋值 =;下标 [];调用 ();成员访问箭头 ->;[1. 输入和输出操作符]支持 I/O 操作的类所提供的 I/O 操作接口,一般应该与标准库 iostream 为内置类型定义的接口相同,因此,许多类都需要重载输入和输出操作符。为了与 IO 标准库一致,操作符应接受 ostream& 作为第一个形参,对类类型 const 对象的引用作为第二个形参,并返回对 ostream 形参的引用。重载输出操作符一般的简单定义如下:// general skeleton of the overloaded output operatorostream&am 阅读全文
摘要:
复制控制是定义任意 C++ 类必不可少的部分。当定义一个新类型的时候,需要显式或隐式地指定复制、赋值和撤销该类型的对象时会发生什么。以上这些是通过定义复制构造函数、赋值操作符和析构函数来达到的。如果没有显式定义复制构造函数或赋值操作符,编译器(通常)会为我们定义。复制构造函数,具有单个形参,该形参(常用 const 修饰)是对该类类型的引用。1) 当定义一个新对象并用一个同类型的对象对它进行初始化时,将显式使用复制构造函数。2) 当将该类型的对象传递给函数或函数返回该类型的对象时,将隐式使用复制构造函数。析构函数:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。1) 析构函数可用 阅读全文