1009.Dynamic_cast
来源:互联网 发布:苏亚雷斯进球数据 编辑:程序博客网 时间:2024/05/22 15:26
Description
Three classes A, B and C are shown below:
class A {
public:
virtual ~A() {};
};
class B: public A {};
class C: public B {};
public:
virtual ~A() {};
};
class B: public A {};
class C: public B {};
You are to implement a function string verify(A *), such that it returns "grandpa" if the passed-in argument points to a class A object, and "father" for a class B object , "son" for a class C object.
Your submitted source code should include the whole implementation of the function verify, but without any class defined above.
No main() function should be included.
#include<iostream>#include <typeinfo>using namespace std;string verify(A *p){ if(typeid(A).name()==typeid(*p).name()){return "grandpa";} if(typeid(B).name()==typeid(*p).name()){return "father";} if(typeid(C).name()==typeid(*p).name()){return "son";} }
conclusion:真是一句话搞定。。 具体typeid().name() 以及typeinfo.h的问题会继续学习,毕竟是我目前未知的领域
利用c++ typeid获取类型名 这是十分灵活的用法,其它用法未知,后续补上
Description
Three classes A, B and C are shown below:
class A {
public:
virtual ~A() {};
};
class B: public A {};
class C: public B {};
public:
virtual ~A() {};
};
class B: public A {};
class C: public B {};
You are to implement a function string verify(A *), such that it returns "grandpa" if the passed-in argument points to a class A object, and "father" for a class B object , "son" for a class C object.
Your submitted source code should include the whole implementation of the function verify, but without any class defined above.
No main() function should be included.
0 0
- 1009.Dynamic_cast
- dynamic_cast
- Dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- dynamic_cast
- linux 线程编程:线程创建
- android开发—01开发环境的搭建
- 苹果开发 笔记(27)
- 五分钟一个设计模式之模板方法模式
- 准确率、召回率和F值的关系
- 1009.Dynamic_cast
- 【Android项目】疑问的总结
- 无法查找或打开PDB文件
- 最大子数组的求和方法一(非动态规划)
- 振兴中华
- Android自适应不同分辨率或不同屏幕大小
- 你不知道的JavaScript(七)delete操作符
- socket关闭后再new,再connect失败的问题
- Java内存分配浅析