CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

请教C++中关于operator关键字的问题!

楼主jianlinlong(楚 潇)2002-09-16 09:59:55 在 C++ Builder / 基础类 提问

在TDateTime中有这样的定义:  
          __fastcall   operator   AnsiString()   const;  
          __fastcall   operator   double()   const;  
          __fastcall   operator   int()   const;  
  这些都不是标准的运算符,上面的定义我该怎么用呢?  
            TDateTime       a,b;  
            a   int   b   ;//??不能  
            a   double   b;//??出错  
            a   AnsiString   b;//还是错  
  怎么办?  
  问题点数:20、回复次数:4Top

1 楼jianlinlong(楚 潇)回复于 2002-09-16 10:32:25 得分 0

没有会吗?还是这个问题太傻?也许很可笑,但是对于我理解operator很有帮助.  
  高手,大虾,去哪了。。。期侍中Top

2 楼alexxing(赤铸)回复于 2002-09-16 10:45:24 得分 9

这些是表示重载标准的“强制类型转换”操作  
   
  TDateTime   d;  
   
  int(d)   调用  
  __fastcall   operator   int()   const;  
  将其转换为   int  
   
  余此类推  
  Top

3 楼kimryo(God is on my side)回复于 2002-09-16 10:48:31 得分 9

TDateTime       a,b;  
   
  double   val=(double)b;//这就是operator   double发挥作用的地方,  
   
  其实,在编译器生成中间码时,上面的代码会变成double   val=b.operator   double();  
   
  其他的同理。Top

4 楼jianlinlong(楚 潇)回复于 2002-09-16 12:43:55 得分 0

学   到一点,operator竟可实现“强制转换”,谢谢两位!Top

5 楼our(书呆子)回复于 2002-09-16 13:20:26 得分 2

operator有很多  
  像前面提到的强制转换  
  还有=   =:     >>     <<       >     <等  
  其实在编译时都得实际   的operator   ...    
  Top

相关问题

  • C/C++中static关键字的使用
  • C#中new关键字得用法
  • C#的关键字
  • 请教:关键字const的含义,用法(c中)
  • 使用c++中的“asm”关键字?有个疑问
  • C#中,可选参数用哪个关键字?
  • 请问几个c#中的关键字换成VB怎样写
  • 请问C语言中关键字volatile是什么意思?
  • C#中有没有throws关键字,在线等
  • C#中有没有跟vb.net (with……End with)一样功能的关键字

关键词

  • 转换
  • tdatetime
  • operator
  • fastcall
  • double
  • const

得分解答快速导航

  • 帖主:jianlinlong
  • alexxing
  • kimryo
  • our

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo