当前位置: 首页 > news >正文

c++ 类的语法4

测试析构函数、虚函数、纯虚函数:

void testClass5() {class Parent {public:Parent(int x) { cout << "Parent构造: " << x << endl; }~Parent() {cout << "调用Parent析构函数" << endl;}virtual string toString() { // 虚函数return "i am Parent";}virtual int getAge() const = 0; // =0 标记为纯虚函数};class Child : public Parent {private:int a;string b;public:// 调用父类构造 + 初始化子类成员Child(int x, int val, const string& s) : Parent(x), a(val), b(s) {cout << "Child构造: " << a << ", " << b << endl;}~Child() {cout << "调用Child析构函数" << endl;}string toString() override {return "i am Child";}int getAge() const override {return 18;}};Child child(10, 20, "hello");cout << "child toString:" << child.toString() << endl;cout << "child getAge:" << child.getAge() << endl;Parent* parent = &child;cout << "parent toString:" << parent->toString() << endl;cout << "parent getAge:" << parent->getAge() << endl;
}

打印:

可见,析构函数的调用顺序是和构造函数的调用顺序相反的。另外,纯虚函数有点像java的抽象方法。

http://www.dtcms.com/a/195214.html

相关文章:

  • 1.4 查看dll的架构(X86\X64)以及X86能否在X64下运行
  • MySQL锁机制详解与加锁流程全解析
  • ubuntu22鼠键失灵恢复记录笔记chatgpt解决
  • 动态图标切换的艺术
  • C++ --- new与delete
  • [特殊字符] Maven配置阿里云镜像终极指南(2024最新版)
  • EasyExcel导出excel再转PDF转图片详解
  • A Neural Approach to Blind Motion Deblurring论文阅读
  • 数值分析证明题
  • 【独家精简】win11(24h2)清爽加速版
  • 线上问题排查:JVM OOM问题如何排查和解决
  • go.mod关于go版本异常的处理
  • DTC测试点归纳
  • 内核性能测试(60s不丢包性能)
  • CSS- 2.1 实战之图文混排、表格、表单、学校官网一级导航栏
  • 开源轻量级地图解决方案leaflet
  • 社区商城引流商品选择与定价策略
  • `ParameterizedType` 和 `TypeVariable` 的区别
  • SpringAI-RC1正式发布:移除千帆大模型!
  • 问题改写提示词提升多跳问题的检索效果,用户输入部分放到提示词最后
  • 软考 系统架构设计师系列知识点之杂项集萃(61)
  • 如何在windows server 2022 上安装WSL
  • Vue百日学习计划Day16-18天详细计划-Gemini版
  • java18
  • go 集成base64Captcha 支持多种验证码
  • Android studio 实现弹出表单编辑界面
  • OpenCV CUDA模块中矩阵操作------分布统计类
  • [BJDCTF2020]The mystery of ip
  • 高频交易的数据革命:Tick级API如何重塑市场优势格局
  • IntelliJ IDEA克隆项目失败的解决方法