【面试题】如何判断一个类是不是另一个的子类
来源:互联网 发布:java主方法与类重名 编辑:程序博客网 时间:2024/06/05 07:51
听到这个题的时候我想到了当时的强制转化中有一种转换可以将父类指针转换为子类指针,我就试了以下,可以的,下面先简单介绍这种转换
dynamic_cast用于将一个父类对象的指针转换为子类对象的指针或引用(动态转换)
向上转型:子类对象指针->父类指针/引用(不需要转换)
向下转型:父类对象指针->子类指针/引用(用dynamic_cast转型是安全的)
1 . dynamic_cast只能用于含有虚函数的类
2 . dynamic_cast会先检查是否能转换成功,能成功则转换,不能则返回0
代码
#include <iostream>#include<stdlib.h>using namespace std;class A{public:virtual void fun(){}};class B :public A{public:virtual void fun(){}};void test(){A* pc=new A;B* cp=dynamic_cast<B*>(pc);if(sizeof(B)==sizeof(A)){cout<<"ok"<<endl;}cout<<cp<<endl;}
0 0
- 【面试题】如何判断一个类是不是另一个的子类
- 判断一个类是不是另一个类的子类
- 【面试题】判断一个序列是不是栈的输出序列
- 【面试题】判断一个序列是不是栈的输出序列
- C++11:如何判断一个类是另一个模板类的子类?
- 面试题-怎样判断一个对象是不是function?
- 【面试题】判断是不是直角三角形
- 子类和父类的一个面试题
- 判断一个节点是不是另一个的节点的子节点;
- 判断一个字符串是不是另一个字符串的字串
- 剑指offer15--判断一个二叉树是不是另一个的子树
- 判断一个字符串是不是另一个的子串(匹配)
- 剑指offer面试题18判断一个二叉树是否包含另一个的递归算法
- 【面试题】剑指offer18--判断一个二叉树是否为另一个二叉树的子结构
- 【IT笔试面试题整理】判断一个树是否是另一个的子树
- 如何判断lua是不是一个纯数组类的table
- 程序员面试题精选-- 判断二叉树是不是平衡的
- 【那些年遇到过的面试题】考虑如何将一个vector 赋给另一个vector
- HDU 5538 2015ACM-ICPC长春赛区现场赛L题
- SpringMVC:整合JQUERY与JSON
- 3d Max 2014设置背景没有锁定选项的解决方法
- MySQL基础之视图理论篇
- MySQL之——CentOS6.5_x64安装配置drbd8.4.2
- 【面试题】如何判断一个类是不是另一个的子类
- 实现响应式布局的方法
- 枚举与深度优先搜索
- SpringMVC+JDBC:分页示例
- MySQL基础之视图实战篇
- C++面向对象高级编程(上)学习笔记
- C++中的多态机制----虚函数
- 209. Minimum Size Subarray Sum
- jQuery与Java实现图片的剪切