gzip网站优化济南网站制作哪家专业
web/
2025/9/26 0:57:41/
文章来源:
gzip网站优化,济南网站制作哪家专业,wordpress 主页显示,专做外贸的网站文章目录 一、类类型转换1.构造函数构造2.类型转换函数 一、类类型转换
数据类型转换在程序编译时或在程序运行实现 基本类型 ←→ 基本类型 基本类型 ←→ 类类型 类类型 ←→ 类类型
类对象的类型转换可由两种方式说明#xff1a; 构造函数 转换函数 称为用户定义的类型转… 文章目录 一、类类型转换1.构造函数构造2.类型转换函数 一、类类型转换
数据类型转换在程序编译时或在程序运行实现 基本类型 ←→ 基本类型 基本类型 ←→ 类类型 类类型 ←→ 类类型
类对象的类型转换可由两种方式说明 构造函数 转换函数 称为用户定义的类型转换或类类型转换有隐式调用和显式调用方式
1.构造函数构造
当类 ClassX 具有以下形式的构造函数
说明了一种从参数 arg 的类型到该类类型的转换
ClassX :: ClassX ( arg arg1 E1 …, argn En ) ;说明了一种从参数 arg 的类型到该类类型的转换
隐式转换
class X
{ // ……public :X ( int ) ;X ( const char * , int 0 ) ;
};
void f ( X arg ) ;:X a X( 1 ) ; // a 1
//调用构造函数 X ( int )
//把 1 转换为类类型 X 后赋给对象 a
//也称 X ( 1 ) 为 X 类的类型常量X b Jessie ; // b X ( Jessie , 0 )
//调用构造函数X ( const char * , int 0 )
//把字符串转换为类类型 X 后赋给对象 ba 2 ; // a X ( 2 )
//隐式调用构造函数 X ( int )
//把 2 转换为类类型 X 后赋给对象f ( 3 ) ; // f ( X ( 3 ) )f ( 10 , 20 ) ; // error
2.类型转换函数
类型转换函数Type Conversion Function是一种特殊的成员函数用于将一个类的对象转换为另一种类型。在C中类型转换函数可以帮助我们实现自定义类型之间的隐式或显式类型转换。
类型转换函数的特点如下
类型转换函数必须是成员函数不能是全局函数。类型转换函数没有返回类型也不需要void关键字。类型转换函数的函数名必须是operator后接转换的目标类型例如operator int()表示将类转换为int类型。类型转换函数可以被隐式调用也可以被显式调用。
下面是一个简单的示例演示了一个类MyClass定义了一个类型转换函数将类对象转换为int类型
#include iostreamclass MyClass {
private:int value;public:MyClass(int val) : value(val) {}operator int() {return value;}
};int main() {MyClass obj(42);int num obj; // 隐式调用类型转换函数std::cout num std::endl; // 输出 42int num2 static_castint(obj); // 显式调用类型转换函数//或者intobj intastd::cout num2 std::endl; // 输出 42return 0;
}在上面的示例中类MyClass定义了一个类型转换函数operator int()它将MyClass对象转换为int类型。在main函数中我们可以隐式地将MyClass对象转换为int类型也可以显式地使用static_cast进行类型转换。
类型转换函数有两种使用方式 隐式使用 i a ;显式使用 i a . operator int ( ) // int ( a ) ( int ) a使用不同函数作类型转换函数 int i a ; // 用类型转换函数进行转换iaX i a ; // 用构造函数进行转换ia
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81906.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!