- 10
- 0
- 约 17页
- 2017-03-13 发布于北京
- 举报
算符重载与入/出流操作
/downloads67/ebook/241634/cppchap5.doc
在前一章的例27中,当实现复型数c=a+b的运算时是利用类的成员函数进行的。在实用中所期望的是直接利用上式的运算表达式而求解。本章将讨论的算符重载便是解决此类需求的一种技术手段。另一方面本章还将讲述在C++语言中如何使用标准流入/出(cin 和cout)算符并配以格式说明的方法。所有这些也都是C++语言利用它特有的流式类的基本手段为用户提供的便捷的入/出手段。
§1 C++语言的运算符重载(Operator Overloading)
其实算符重载并非在C++语言中才有,C中的“?”号就是一种重载算符。比如:
int i = 20,?p;
p = i;
i = ?p ?2 ;
等表达式中的星号随其位置的不同而引起的操作也不同,这也可以被认为是一种重载。
§1.1 C++语言类中的算符重载
第三章已经讨论了C++语言函数的重载的概念。在C++语言中,大多数的运算符号也可以当作函数名的一部分来使用,这就奠定了算符重载的基础。声明算符重载的格式是:
operator C++语言支持的算符(参数描述表) {…}
将前一章最后例27中的类成员函数add(…)和sub(…)分别改写为算符函数后可呈例1的形式:
例1
原创力文档

文档评论(0)