类型转换函数operator Type();

标签: CPlusPlus(面向对象)
15人阅读 评论(0) 收藏 举报
分类:
/*
类型转换函数能够实现把一个类 类型 转换成 基本数据类型(int、float、double、char等) 或者 另一个类 类型。
其定义形式如下,注意不能有返回值,不能有参数,只能返回要转换的数据类型
*/


#include<iostream>
#include<iomanip>
#include<string>
using namespace std;



class CDataCollection{
private:
	char cVar;
	int iVar;
	float fVar;
	double dVar;
	string sVar;
public:
	CDataCollection(char c, int i, float f, double d, string s){cVar = c; iVar = i; fVar = f; dVar = d; sVar = s;}
	operator char(){return cVar;}
	operator int(){return iVar;}
	operator float(){return fVar;}
	operator double(){return dVar;}
	operator string(){return sVar;}
};


void OperatorTst()
{
	CDataCollection oDataCollection('i', 1, 3.14, 3.1415926,"Phone");
	char cVar = oDataCollection; cout << "CDataCollection--->char : " << cVar << endl;
	int iVar = oDataCollection; cout << "CDataCollection--->int : " << iVar << endl;
	float fVar = oDataCollection; cout << "CDataCollection--->float : " << fVar << endl;
	double dVar = oDataCollection; cout << "CDataCollection--->double : " << dVar << endl;
	string sVar = oDataCollection; cout << "CDataCollection--->string : " << sVar << endl;
}


void main()
{
	OperatorTst();
}


查看评论

operator 类型转换及重载

类型转换函数的一般形式为 : operator 类型名() {实现转换的语句} 在函数名前面不能指定函数类型,函数没有参数....
  • yueqian_zhu
  • yueqian_zhu
  • 2014-08-08 20:33:04
  • 1371

[C/C++]_[操作符重载operator type()和operator()的区别]

1.看到WTL的CWindow源码时会发现这样的operator HWND()重载,仔细看会发现它并不是重载()操作符....
  • infoworld
  • infoworld
  • 2014-08-28 17:45:44
  • 5512

operator类型转换函数

type conversion operator可以将类类型转换成
  • lannykuaile
  • lannykuaile
  • 2014-06-08 22:34:12
  • 360

operator用于类型转换函数

class  CWindowWnd { public: operator HWND() const; }; CWindowWnd::operator HWND() const {     re...
  • slionls
  • slionls
  • 2014-01-04 18:02:05
  • 467

C++ 重载赋值操作符operator=的高级议题

C++ class perator= 重载赋值操作符。 关于重载赋值操作符的例子网上已经是一搜一大把了,在这里我就不做这些介绍了,只给大家总结一下对于这个操作符的基本注意事项。 1.       ...
  • tangliguantou
  • tangliguantou
  • 2014-09-07 15:48:31
  • 1671

The operator || is undefined for the argument type(s) int, int

Question// 示例代码 if( (sizeA ) || (sizeB ) || (sizeC ) ){}这样,会报如上异常The operator || is undefined for th...
  • u010416101
  • u010416101
  • 2017-03-20 23:40:28
  • 3325

C++ 类型转换操作与操作符重载 operator type() 与 type operator()

类型转换操作符(type conversion operator)是一种特殊的类成员函数,它定义将类类型值转变为其他类型值的转换。转换操作符在类定义体内声明,在保留字 operator 之后跟着转换的...
  • wenrenhua08
  • wenrenhua08
  • 2014-09-27 00:01:15
  • 827

The operator == is undefined for the argument type(s) int, null

package cn.edu.shu.web.test;public class TestInteger { public static void main(String[] args) { ...
  • shijiebei2009
  • shijiebei2009
  • 2015-03-15 15:46:31
  • 11467

C++学习笔记:转换构造函数与类型转换函数

C++类中包含集中构造函数。 1.默认构造函数。 Complex();   (以复数为例。) 2.用于初始化的构造函数。 Complex(int i,int j); 3.用于复制对象的复制构...
  • Leafage_M
  • Leafage_M
  • 2016-05-26 12:06:01
  • 4268

C++中的类型转换函数

C++中的类型转换函数
  • u012333003
  • u012333003
  • 2014-03-11 10:22:06
  • 1685
    个人资料
    等级:
    访问量: 1627
    积分: 964
    排名: 5万+
    文章存档