dynamic_cast 删除子类

原创 2016年08月30日 09:19:13
class A
{
public:
	A(){puts("100");}
	~A(){puts("110");}
};

class B : public A
{
public:
	B(){puts("200");}
	~B(){puts("210");}
};


class C : public B
{
public:
	C(){puts("300");}
	~C(){puts("310");}
};

int _tmain(int argc, _TCHAR* argv[])
{
	C *c = new C();
	//B *b = dynamic_cast<B*>(c);
	//B *b = static_cast<B*>(c);
	B *b = reinterpret_cast <B*>(c);
	delete b;
   return 0;
}


static_cast,dynamic_cast,reinterpret_cast结果都一样

100
200
300
210
110

实例:父类指针操作子类对象,以及dynamic_cast和static_cast的比较

实例:父类指针操作子类对象,以及dynamic_cast和static_cast的比较

基类和派生类指针转换--dynamic_cast

基类 派生类 指针转换

基类和派生类指针转换--dynamic_cast

1、背景 编程中遇到如下问题:有基类指针pA指向派生类B对象,使用该指针调用虚函数,执行的是派生类中的函数,没问题。不过现在想执行派生类中非虚函数,因为该指针是基类类型的,所以执行的是基类中函数...

typeinfo dynamic_cast & 模板编程 & orocos OperationCaller 类的设计

dynamic_cast 判断该基类指针到底指向哪一类派生类: dynamic_cast 就是运用 RTTI 来判断该指针所指的对象的 typeinfo (一般位于 virtual table 的...

从零开始学C++之RTTI、dynamic_cast、typeid、类与类之间的关系uml

一、RTTI Run-time type information (RTTI) is a mechanism that allows the type of an object to be deter...

C++标准转换运算符dynamic_cast

【转自】http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cast_operator_part5.html C++标准转换运算符dynamic...

C++ 使用dynamic_cast进行downcast时常会出现的问题 [RTTI]

给大一学生上习题课的一个题目用到多态性下的类型转换。对于多态继承的类型转换,分为upcast和downcast.这两种转换的区别从名字上很容易看出来。从派生类转换到基类为upcast,从基类到派生类称...

dynamic_cast效率问题

估算效率不能只“想想”,要实际测试一下。
  • dreamcs
  • dreamcs
  • 2011年05月18日 15:50
  • 2470

dynamic_cast类型转换(很好用)-转自百度百科

dynamic_cast 目录 1用法 2注意事项 3运用实例 问题 实例 1...
  • mucai1
  • mucai1
  • 2013年12月31日 10:37
  • 413

dynamic_cast的使用条件

今天从学长那里听来一道腾讯的面试题,问的是C++中的dynamic_cast在什么情况下是错误的?我认为这个问题的更好的描述是dynamic_cast的使用条件是什么? C++提供了两种方式来支持RT...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:dynamic_cast 删除子类
举报原因:
原因补充:

(最多只允许输入30个字)