笔记9 《C++ 大学教程》

来源:互联网 发布:淘宝掌柜直播 编辑:程序博客网 时间:2024/06/04 19:44

第十一章 运算符重载:字符串和数组对象

运算符重载通过编写非static成员函数的定义或全局函数的定义来实现,其中函数名由关键字operator后接要重载的运算符符号组成。但运算符重载为成员函数是,成员函数必须是非static

如果要对类使用运算符,那么运算符必须要被重载,但有三个例外:赋值运算符(=),取地址运算符(&),逗号运算符(,),重载运算符不能改变运算符优先级和结合律,不能改变操作“元”数。不能创造新的运算符,只能重载。

当重载(),[],->或任意赋值运算符时,运算符重载函数必须申明为类的成员。对于其他,可以为类的成员或全局函数

拷贝构造函数通过复制一个类现有对象的成员来初始化该类的一个新对象

转换运算符可以将某个类的对象转换成另一个类的对象或基本类型的对象。

标准string类定义在头文件<string>中,属于命名空间std

string提供empty成员函数,如果string为空,则返回true否则返回false. 成员函数substr获得一个子字符串,该字符串长度由第二个参数指定,起始位置由第一个参数指定。[]不进行边界检查,at进行边界检测

C++提供关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。

原创粉丝点击