创建友元
创建友元函数的第一步是将其原型放在类声明中,并在原型声明前加上关键字friend:
friend Time operator*(double 吗,const Time & t) //friend not used in class declaration
该原型意味着下面两点:
1、虽然operator*()函数是在类声明中声明的,但它不是成员函数,因此不能使用成员操作符来调用。
2、虽然operator*()函数不是成员函数,但它与成员函数的访问权限相同。
第二步是编写函数定义。因为它不是成员函数,所以不要使用Time::限定符。另外,不要在定义中使用关键字friend。
转换函数:
注意:1、转换函数必须是类方法。
2、转换函数不能指定返回类型。
3、转换函数不能有参数。
C++为类提供了下面的类型转换:
1、只有一个参数的类构造函数用于将类型与该参数相同的值转换为类类型。
2、被称为转换函数的特殊类成员操作符函数,用于将类对象转换为其他类型。
改进后的新String类
1、修订后的默认构造函数
2、比较成员函数
3、使用中括号表示法来访问字符
4、静态类成员函数
5、进一步重载赋值操作符
队列是一种抽象的数据类型(Abstract Data Type,ADT),可以存储有序的项目序列。栈是一种后进先出(LIFO,last-in,firsr-out)的结构,而队列是先进先出(FIFO,first-in,first-out)的。