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

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.lryc.cn/news/2380577.html

相关文章:

  • NMOS和PMOS的区别
  • java云原生实战之graalvm 环境安装
  • 2025年电工杯新规发布-近三年题目以及命题趋势
  • python打卡day30@浙大疏锦行
  • 替换word中的excel
  • 大模型服务如何实现高并发与低延迟
  • 异丙肌苷市场:现状、挑战与未来展望
  • OBS Studio:windows免费开源的直播与录屏软件
  • [ 计算机网络 ] | 宏观谈谈计算机网络
  • 经典面试题:TCP 三次握手、四次挥手详解
  • 高光谱数据处理技术相关
  • 【动态规划】P10988 [蓝桥杯 2023 国 Python A] 走方格|普及+
  • Rocketmq leader选举机制,通过美国大选解释
  • 机器视觉的PVC卷对卷丝印应用
  • 利用 SQL Server 作业实现异步任务处理,简化系统架构
  • LabVIEW数据库使用说明
  • MATLAB实现GAN用于图像分类
  • 25考研经验贴(11408)
  • java中的Filter使用详解
  • PostgreSQL初体验
  • css使用clip-path属性切割显示可见内容
  • 新京东,正在成为一种生活方式
  • Linux 文件(2)
  • 分析 redis 的 exists 命令有一个参数和多个参数的区别
  • 《具身智能机器人:自修复材料与智能结构设计的前沿探索》
  • Java 10IO流
  • @ColorRes和@ColorInt什么区别
  • 基于Springboot + vue3实现的工商局商家管理系统
  • 【Java ee初阶】HTTP(2)
  • idea本地debug断点小技巧