class Base {  // 基类
public:virtual void f() {cout<<"Base"<<endl;}
};
class Derived : public Base { // 派生类
public:virtual void f() {   // 最好加上该virtual cout<<"Derived"<<endl;}
};int main(){Base* p = new Derived();p->f();  // Derived(*p).f(); // Derivedstatic_cast<Base>(*p).f(); // Basedelete p;return 0;
}

通过强制类型转换可以实现

多态情况下,怎么用基类指针去访问基类的虚函数?相关推荐

  1. 非多态的继承情况下,基类指针可以指向派生类对象么?

    class Base { // 基类 public:Base(int aa=88) : a(aa) {}void f() { // 非virtualcout<<"Base&quo ...

  2. 【C++】【读个小故事就弄懂】为什么基类指针可以指向派生类对象,而派生类指针却不可以指向基类对象?(最易懂最有趣最生动的举例)

        在内存中,一个基类类型的指针是覆盖N个单位长度的内存空间.     当其指向派生类的时候,由于派生类元素在内存中堆放是:前N个是基类的元素,N之后的是派生类的元素.     于是基类的指针就可 ...

  3. 将派生类指针赋值给基类的指针

    除了可以将派生类对象赋值给基类对象(对象变量之间的赋值),还可以将派生类指针赋值给基类指针(对象指针之间的赋值).我们先来看一个多继承的例子,继承关系为: #include <iostream& ...

  4. 析构函数声明无效_C++基类的析构函数为何要声明为虚函数

    C++的类中,构造函数用于初始化对象及相关操作,构造函数是不能声明为虚函数的,因为在执行构造函数前对象尚未完成创建,虚函数表还不存在. 析构函数用于销毁对象完成时相应资源的释放工作,析构函数可以被声明 ...

  5. 【C++】C++类的学习(五)——纯虚函数与抽象类

    [fishing-pan:https://blog.csdn.net/u013921430转载请注明出处] 前言 在前面的博客中讲到了虚函数,今天讲述一种特别的虚函数--纯虚函数,以及与之相关的抽象类 ...

  6. C++经验(四)-- 基类构造函数和析构函数中调用virtual虚函数?

    class Base {public:Base();virtual void oneFunction() = 0;... };Base::Base() {...oneFunction(); }clas ...

  7. C++类内存分布——深度理解继承与虚函数

    1.前言与准备 工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:       先选择左侧的C/C++->命令行,然后在其他选项这里写上/d1 report ...

  8. C++_类和对象_对象特性_友元_友元类_在一个类中声明另一类作为自己的友元类_可以访问自己类中的private变量---C++语言工作笔记053

    然后我们再来一个去看看友元类,用类来做友元,上面我们说的是全局函数做友元. 首先我们先去写一个类叫GooGay好基友. 然后里面去定义一个成员变量,这个成员变量可以看到类型是 Building这个类, ...

  9. JAVA类和对象访问_Java类和对象

    一.类 类是封装对象的属性和行为的载体,在Java语言中对象的属性以成员变量的形式存在,而对象的方法以成员方法的形式存在. 1. 类的构造方法 构造方法是一个与类同名的方法,对象的创建就是通过构造方法 ...

最新文章

  1. Android -- 使用inBitmap要注意的地方
  2. Rxjava 实现接口回调的功能
  3. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...
  4. Android之不需要自定义View(ViewfindView.java)最简单的二维码扫描
  5. 修改Sql server中列的属性脚本
  6. yii2通过url访问类中的方法_行为型设计模式 访问者模式
  7. 他的产品成华强北山寨模板,仅次华为苹果,这个赛道杀入年轻黑马!
  8. oracle转类型sql,[转]SQL Server 和Oracle 数据类型对应
  9. mfc 邮件收发系统_腾讯企业邮箱的系统管理功能?
  10. 计算机一级考试评分规则标准,CAD考试规则评分标准
  11. 2019-2022广汽埃安AIONS/AIONY/AIONV/AIONLX维修手册电路图技术资料
  12. XJOI1226 走迷宫
  13. linux安装sas raid驱动,windows 2008 安装raid驱动|windows 2008安装sas硬盘驱动
  14. 师范类大学计算机排名,2018中国师范类大学排行榜,北京师范大学第一
  15. 神舟笔记本键盘灯不亮驱动
  16. 实验:配置Trunk
  17. CentOS 7系统语言修改成英文
  18. 认知SaaS产品和MVP流程
  19. 最喜欢的一款星光和光晕ps笔刷
  20. cearte-react-app中craco中优雅引入svg【自定义宽、高、颜色,仅需5步】

热门文章

  1. QTP的那些事--操作excel的函数
  2. laravel框架——composer导入laravel
  3. Mysql语句与应用
  4. 如何判断注册用户是否已经存在(membership验证)
  5. 为C++程序添加文件保存加载功能
  6. 软件定义,软件开发,软件维护
  7. java uuid 线程安全_java – 在多线程应用程序中生成相同的UUID
  8. python将字符串写入csv_用Python将字符串值写入CSV文件
  9. nginx 电子书_13本免费的电子书,拿走,不谢
  10. Pycharm新建文件时自动添加基础信息