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

继承错题汇总

在这里插入图片描述
如果没有明确地被修饰符修饰,那么就是私有成员,最好是在父类中写明如何调用的方法。子类成员要获取他就需要通过父类的成员函数。

在这里插入图片描述
1342
如果有父类(基类)的话,先调用基类的构造函数。而在析构时先对子类进行析构,再调用父类的析构函数。这个过程就像建房子,一层一层地建起来,拆的时候也从上往下拆。也是利用栈的原理。
在这里插入图片描述
子类也需要用基类方法访问私有成员,或者使用友元函数

#include <iostream>class Base {
private:int privateValue; // 基类的私有成员public:Base(int value) : privateValue(value) {} // 构造函数// 声明友元函数friend void accessPrivateValue(Base& b);
};// 友元函数定义
void accessPrivateValue(Base& b) {std::cout << "Accessing private value: " << b.privateValue << std::endl;
}class Derived : public Base {
public:Derived(int value) : Base(value) {} // 构造函数
};int main() {Base base(42); // 创建基类对象Derived derived(100); // 创建派生类对象// 通过友元函数访问基类的私有成员accessPrivateValue(base);// 不能直接访问 base 的 privateValue// std::cout << base.privateValue; // 这将导致编译错误return 0;
}

在这里插入图片描述
在基类中声明友元函数,然后友元函数就可以传入基类对象,来调用。


http://www.mrgr.cn/news/78723.html

相关文章:

  • 鸿蒙Next星河版基础代码
  • 带外配置IP
  • 构造函数与析构函数错题汇总
  • 【查询目录】.NET开源 ORM 框架 SqlSugar 系列
  • linux 文件权限,修改权限,系统调用
  • 二:OpenStack环境准备-controller node
  • scala的守卫语句格式
  • 使用nginx请求转发时前端报跨域问题解决
  • Istio笔记01--快速体验Istio
  • 【LeetCode刷题之路】283:移动零的普通解法与优化解法(含动图演示)
  • 常用函数的使用错题汇总
  • Qt入门5——常用控件3
  • 第七课 Unity编辑器创建的资源优化_UI篇(UGUI)
  • Java八股文(11-29start)
  • MySQL源码编译
  • baomidou Mabatis plus引入异常
  • 【设计模式系列】解释器模式(十七)
  • 关于使用注册表修改键盘的键位映射
  • 阿里云服务器(centos7.6)部署前后端分离项目
  • 六:安装服务-compute node