12.2几个特殊运算符的重载 12.2.1增量减量运算符 type class_name: operator++0;∥前置增量 type class_name: operator++(nt);∥后置增量 例 class X t public (inta=0):X(a)旮} int Geto return X int operator ++ o return ++X: 1 int operator ++(int)( return x++;3
12.2 几个特殊运算符的重载 12.2.1 增量减量运算符 type class_name :: operator ++ (); // 前置增量 type class_name :: operator ++ (int); // 后置增量 例: class X { int x; public: X(int a = 0) : x(a) {} int Get() { return x; } int operator ++ () { return ++ x; } int operator ++ (int) { return x ++; } }
Ⅹax(10); cout < aX Get( < endl ∥输出10 ++ax; cout < aX Get( < endl ∥输出11 i= aX++ cout <<i<< endl ∥输出11 cout < aXGet( < endl ∥输出12
X aX(10); cout << aX.Get() << endl; // 输出 10 ++ aX; cout << aX.Get() << endl; // 输出 11 i = aX ++; cout << i << endl; // 输出 11 cout << aX.Get() << endl; // 输出 12
1222下标运算符 type class name . operator[](arg; 例为 String类添加一个下标运算符重载: char& operator [(int i return pStr[]; 1 有了这样的运算符重载,就可以利用以下的方式修改串对象的 内容: String s( The C++ language") s[5]='' s[6]=”; s Showo ∥输出: The C language 注意:这样的定义有可以破坏类的封装性。为安全起见,最好 将该函数的返回值改为char
12.2.2 下标运算符 type class_name :: operator [ ] (arg); 例 为 String 类添加一个下标运算符重载: char& operator [] (int i) { return pStr[i]; } 有了这样的运算符重载,就可以利用以下的方式修改串对象的 内容: String s("The C++ language"); s[5] = ' '; s[6] = ' '; s.Show(); // 输出:The C language 注意:这样的定义有可以破坏类的封装性。为安全起见,最好 将该函数的返回值改为 char
函数调用运算符())、成员选择运算符(->)、new运算 符和 delete运算符等,重载时也有一些特殊的要求和限制 但由于它们在实用中极少被重载,且重载和使用时的难度较 大,这里就不再介绍了。有兴趣的同学可以参考相应资料
函数调用运算符(( ))、成员选择运算符(->)、new 运算 符和 delete 运算符等,重载时也有一些特殊的要求和限制。 但由于它们在实用中极少被重载,且重载和使用时的难度较 大,这里就不再介绍了。有兴趣的同学可以参考相应资料
第13章C+语言的10流类 13.1概述 输入输出(简称O, Input/ Output)是指计算机与其外部设 备—如,显示器、打印机、磁盘机、键盘,等等——以及其 它计算机交换信息的功能。一个语言ⅣO功能的强弱在一定程 度上表现了语言整体功能的强弱。 与其它高级语言不同,C++语言中没有独立的WO语句,为 了方便用户使用,标准中规定了大量的WO函数。利用OOP 技术,C++语言更是提供了一个庞大Ⅳ○流类。利用该类的对 象,程序员可以编写出使用极为简便的、与设备无关的程序; 通过对流类中所定义(重载)的流运算符进行重载,可以使程 序员自己定义的类本身也具有MO功能
第13章 C++ 语言的 I/O 流类 13.1 概述 输入输出(简称 I/O, Input / Output)是指计算机与其外部设 备——如,显示器、打印机、磁盘机、键盘,等等——以及其 它计算机交换信息的功能。一个语言 I/O 功能的强弱在一定程 度上表现了语言整体功能的强弱。 与其它高级语言不同,C++ 语言中没有独立的 I/O 语句,为 了方便用户使用,标准中规定了大量的 I/O 函数。利用 OOP 技术,C++ 语言更是提供了一个庞大 I/O 流类。利用该类的对 象,程序员可以编写出使用极为简便的、与设备无关的程序; 通过对流类中所定义(重载)的流运算符进行重载,可以使程 序员自己定义的类本身也具有 I/O 功能