【C++】将类对象转换成基本数据类型

2023年7月19日,周三晚上:

今天晚上看源码的时候,突然在某个类里面看到了“operator bool() const;”,我完全想不起来这是啥意思了,于是今晚重新学习了一下


目录

  • 类型转换函数的定义
  • 类型转换函数的作用

类型转换函数的定义

类型转换函数,也称作类型转换运算符重载函数

其语法格式为:

operator 数据类型名()
{
    //函数体
}

所以,我今晚遇到的那行代码实际上是类型转换函数

需要注意的是:

  • 类型转换函数是类的成员函数,必须在类中定义
  • 可以在一个类中重载多个类型转换函数,但数据类型名必须不同

类型转换函数的作用

用来实现自定义类与基本数据类型之间的转换

比如说,把一个对象转换成int或者char*

#include
using namespace std;

class Person{
	int age;
	char *name;
	
public:
	Person(int age,char *name){
		this->age=age;
		this->name=name;
	}
	
	//把对象转换成int类型的数据
	operator int(){
		return this->age;
	}
	
	//可以在一个类中重载多个类型转换函数,但数据类型名必须不同
	//把对象转换成char*类型的数据
	operator char*(){
		return this->name;
	}
	
	
};

int main(){
	Person JuLongZhiLu(25,"巨龙之路");
	char *name=JuLongZhiLu;//把对象转换成char*
	int age=JuLongZhiLu;//把对象转换成int
	cout<<"name="<【C++】将类对象转换成基本数据类型_第1张图片

你可能感兴趣的:(我的博客,c++,开发语言)