第6讲操作符重载 2
不同类型数据间的转换 归纳起来,使用转换构造函数将一个指定的数据类型转换为类的方法如下: 先声明一个类,如Complex 在这个类中定义一个只有一个参数的构造函数,参数的类型是需要转换的类型,在函数体中指定转换的方法。 在该类的作用域内可以用以下形式进行类型转换: 类名(指定类型的数据) * 不同类型数据间的转换 不仅可以将一个标准类型数据转换成类对象,也可以将另一个类的对象转换成转换构造函数所在的类对象。 如,可以将一个学生类对象转换成一个老师类对象。Teacher(Student s) {num=s.num; strcpy(name, s.name); sex= s.sex;},但应注意s中的num,name,sex必须都是共有成员,否则无法在类外引用。 * 不同类型数据间的转换 转型操作符:将一个类的对象转换成另一类型的数据。 如已经声明了Complex类,则可定义 operator double() {return real;} 将一个Complex对象转换成一个double型数据。 函数没有参数(操作数就是调用者对象) 没有返回类型(返回类型就是函数名) * 不同类型数据间的转换 转型操作符重载函数只能作为成员函数,因为其转换的主体是本类的对象。 虽然都是用Operator开头,这里被重载的实际上是类型名,而不是操作符。 * 不同类型数据间的转换 转换构造函
原创力文档

文档评论(0)