类的自动转换和强制类型转换
2014-11-02 19:11
148 查看
一、自动转换
1、通过构造函数来实现
2、支持隐式转换,如果构造函数前使用explicit关键字,将关闭隐式转换
3、实现了将其他数据类型转换为类
二、强制类型转换——转换函数
1、转换函数原型:
operator typeName();
typeName为要转换的类型,如int,double。。。
2、注意隐式转换时避免二义性
3、实现了将类转换为其他数据类型
1、通过构造函数来实现
2、支持隐式转换,如果构造函数前使用explicit关键字,将关闭隐式转换
3、实现了将其他数据类型转换为类
二、强制类型转换——转换函数
1、转换函数原型:
operator typeName();
typeName为要转换的类型,如int,double。。。
2、注意隐式转换时避免二义性
3、实现了将类转换为其他数据类型
#ifndef WEIGHT_H #define WEIGHT_H class Weight { public: Weight(double kg = 0); ~Weight(); double getWeight() const; operator int() const; //转化函数 class to int protected: private: double kg; }; #endif // WEIGHT_Hweight.cpp
#include "Weight.h" Weight::Weight(double kg) { this->kg = kg; } Weight::~Weight() { //dtor } double Weight::getWeight() const { return kg; } Weight::operator int() const { return int(kg); }main.cpp
#include <iostream> #include "Weight.h" using namespace std; int main() { Weight weightTest; weightTest = 3.4; //implicit , weightTest = (Weight)3.2 cast number to class int num = weightTest; //implicit , num = (int)weightTest cast class to number cout << "weightTest"<<(double)weightTest << endl; cout <<"num = "<<num<<endl; return 0; }
相关文章推荐
- 学习C++——类的自动转换和强制类型转换
- 《C++ primer plus》:类的自动转换和强制类型转换
- 数据类型转换,自动转换和强制类型转换实例
- C++:类的自动转换和强制类型转换
- 第十一章:运算符重载,友元函数,重载<<运算符,类的自动转换和强制类型转换
- C++类的自动转换和强制类型转换
- C++ 类的自动转换与强制类型转换
- 类的自动转换和强制类型转换
- 类的自动转换和强制类型转换
- HttpModule 实现 ASP.Net (*.aspx) 中文简繁体的自动转换,不用修改原有的任何代码,直接部署即可!
- VS2005中文输入法自动转换为全角的两种解决方法
- 在Struts--hibernate开发框架中,实现formbean与hibernate pojo的自动转换
- 数据仓库自动抽取:通过 SQL Server 企业管理器中的数据转换服务 (DTS) 设计器 创建 Analysis Services 处理任务
- 不要让SQLServer自动转换害了你!
- ASP.NET中实现中文简/繁体自动转换的类
- 数据仓库自动抽取:通过 SQL Server 企业管理器中的数据转换服务 (DTS) 设计器 创建 Analysis Services 处理任务
- vi中tab自动转换为空格
- ASP.NET中实现中文简/繁体自动转换的类
- ASP.NET中实现中文简/繁体自动转换的类
- 基于透明代理的内部类访问抽象 [2] 自动类型转换与封装