MySpace

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  18 随笔 :: 2 文章 :: 10 评论 :: 0 Trackbacks

2008年6月4日 #

     摘要: 当将一个派生类强制转换成基类类型的时候,转换方式不一样会产生不一样的效果。例如该代码:static_cast(*this) ;


base 是基类,这句代码是将当前对象强制转化为积累类型的对象的引用,这样的话不会再次调用基类的构造函数。若转换成基类对象那就要调用基类的构造函数并创建出新的对象来了。
  阅读全文
posted @ 2008-06-04 15:12 yang-chunlei 阅读(253) | 评论 (0)编辑 收藏

     摘要: 在一个函数中有个参数是 CONST 类型,例如: string & max(string s1,string s2) ,那么我调用的时候有可能会这样写:max("abc","edf"); 然后编译,出错。提示为 无法将 CONST 类型转换为 非CONST 类型。那是因为编译器在接收到"abc"的时候会生成一个临时变量,然后将这个临时变量传入到 max 函数中。但是这个临时变量是 CONST 类型的,与该函数的定义不一致,所以会在编译时抛出类型不一致的错误。  阅读全文
posted @ 2008-06-04 11:57 yang-chunlei 阅读(313) | 评论 (2)编辑 收藏

     摘要: 刚刚在 LINUX 下用 KDEVLOP 逐步调试了一下,当 A 类的析构函数设置为虚函数的时候没有出现 VC 下那样的错误提示,输出也正确。只是我在 A 类的析构函数中设置的断点是无效的,就是说该析构函数中语句是可以执行的但是此处的断点不能让程序在此处停下来。看来可能是在此种问题上 VC 在 DEBUG时是做了一些并不是非常准确的但可能是安全性方面的提示。
  阅读全文
posted @ 2008-06-04 10:30 yang-chunlei 阅读(294) | 评论 (0)编辑 收藏