当前位置: 首页 > 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的抽象方法。

相关文章:

  • 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正式发布:移除千帆大模型!
  • 问题改写提示词提升多跳问题的检索效果,用户输入部分放到提示词最后
  • 建网站和建网页的区别/软文广告经典案例800字
  • 中山做外贸网站建设/网图搜索识别
  • 深圳住房网站app/整站seo免费咨询
  • 专业建站服务公司/全网引流推广 价格
  • 做网站框架可用jpg图吗/网站设计公司多少钱
  • 网站建设可用性的五个方面/一键优化清理手机