zoukankan      html  css  js  c++  java
  • c++之类类型转换

      数据类型转换在程序编译时或在程序运行实现

        基本类型 ←→ 基本类型

        基本类型 ←→ 类类型

        类类型 ←→ 类类型

      类对象的类型转换可由两种方式说明:

        构造函数  转换函数

        称为用户定义的类型转换或类类型转换,有隐式调用和显式调用方式

     1 class  X    
     2 { // ……
     3   public :
     4       X ( int ) ;
     5       X ( const  char * , int = 0 ) ;
     6 };
     7 void  f ( X  arg ) ;
     8     :
     9    X  a = X( 1 ) ;        // a = 1,调用构造函数X(int),把1转换成X类类型后赋给对象a,也称X(1)为类X的类型常量
    10    X  b = "Jessie" ;        // b = X ( "Jessie" , 0 ),调用构造函数X(const char*,int =0),把字符串转换成X类类型后,赋给b;
    11    a = 2 ;            // a = X ( 2 ),隐式调用构造函数X(int),把2转换成X类类型之后赋给对象a,
    12    f ( 3 ) ;            // f ( X ( 3 ) ),隐式调用构造函数X(int),对实参做类类型转换,然后进行参数结合
    13    f ( 10 , 20 ) ;        // error ,找不到匹配的构造函数,转换失败
    //注:这样的转换都是由系统自动完成的

    2.类类型转换函数:

    带参数的构造函数不能把一个类类型转换成基本类型
    类类型转换函数是一种特殊的成员函数,提供类对象之间

    显式类型转换的机制

    语法形式:

      X :: operator  T ( )

      {  ……

             return   T 类型的对象 

      }

    功能:将类型 X 的对象转换为类型 T 的对象

    • T 可以是预定义类型,也可以是用户定义类型
    ·  函数没有参数,没有返回类型,但必须有一条 return 语句,返回 

        T 类型的对象

    • 该函数只能为成员函数,不能为友元 
  • 相关阅读:
    Linux pytorch安装 cuda,torch,torchvision版本选择
    R 语言 缺失值处理并使用SMOTE处理不平衡数据集
    Unable to fit model using “lrm.fit” in R
    Linux系统安装软件(搜狗拼音,teamviewer等)
    win10+anaconda3+pytorch安装
    支持向量机理论+R语言实现
    算法学习:给定一个序列求最大子序列的和
    13 HTTP传输大文件的方法
    12 HTTP的实体数据
    11 HTTP的特点,优点和缺点
  • 原文地址:https://www.cnblogs.com/Smart-Du/p/4331171.html
Copyright © 2011-2022 走看看