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的比较

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++之RTTI、dynamic_cast、typeid、类与类之间的关系uml

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

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

基类 派生类 指针转换

理解C++ dynamic_cast

在面向对象程序设计中,有时我们需要在运行时查询一个对象是否能作为某种多态类型使用。与Java的instanceof,以及C#的as、is运算符类似,C++提供了dynamic_cast函数用于动态转型...

C++类型转换dynamic_cast解析

C++的类型转换有四种 const_cast, reinterpret_cast, static_cast, dynamic cast 这边举一个dynamic cast的小例子 #inc...

dynamic_cast介绍

dynamic_cast介绍 dynamic_cast (expression) 这个表达式将 expression 转换为一个 type-id 类型的对象。 Type-id 必须是一个指针、指向...

dynamic_cast

dynamic_cast (expression) 这个表达式将 expression 转换为一个 type-id 类型的对象。 Type-id 必须是一个指针、指向一个已经定义类的类型或一个指向 ...

dynamic_cast详解

作为四个内部类型转换操作符之一的dynamic_cast和传统的C风格的强制类型转换有着巨大的差别。除了dynamic_cast以外的转换,其行为的都是在编译期就得以确定的,转换是否成功,并不依赖被转...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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