第十二课 操作符重载
1.使用C++标准库
(1)C++标准库并不是C++语言的一部分
(2)C++标准库是由C++语言编写而成的类库和函数的集合
(3)C++标准库中定义的类和对象都位于std命名空间中
(4)C++标准库的头文件都不带.h后缀
(5)C++标准库涵盖了C库的功能
——C库中<name.h>头文件对应C++中的<cname>
2.C++标准库预定义了多数常用的数据结构,如:字符串,链表,队列,栈等
C++做了什么?
(1)左移运算符<<和右移运算符>>,在C语言中只能用于整数运算,并且语义是确定不变的
C++是怎么改变左移运算符和右移运算符的语义的?
3.操作符重载为操作符提供不同的语义
编译不能通过!!!
可以定义一个add函数用于两个Complex的相加
add函数可以解决Complex变量相加的问题,但是Complex是现实世界中确实存在的复数,并且复数在数学中的地位和普通的实数相同。
4.C++中操作符重载的本质
(1)C++中通过operator关键字可以利用函数扩展操作符
(2)operator的本质是通过函数重载实现操作符重载
5.C++中的类的友元
(1)private声明使得类的成员不能被外界访问
(2)但是通过friend关键字可以例外的开放权限