学习目标
学习类的自动类型转换和强制类型转换
学习内容
💖类的强制转换数据类型和自动转换数据:
类的强制转换数据类型
想让类的对象强制转换为基本数据类型,需要在类中添加类的转换函数
- 1、转换函数必须是类方法
- 2、转换函数不能指定返回类型
- 3、转换函数不能有参数
学习代码
#include<iostream>
using namespace std;
class Data {
public:
//添加explicit会禁止自动类型转换
explicit Data(int a) {
cout << "整数有参构造函数" << endl;
}
Data(const char *str) {
cout << "有参构造函数" << endl;
}
//转换函数
operator double() {
//业务逻辑
return 20.01;
}
};
//类的强制转换数据类型
int main() {
Data d1 = "nihao";
//Data d2 = 10;
//转换函数实例
double d=d1;
cout << d << endl;
return 0;
}