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

C++ 学习记录

文章目录

  • 继承
  • 重载和重写
    • 区别
    • 重载
    • 重写
  • 参考文献

继承

  • 继承顾名思义就是对长辈本有的东西进行获取与使用,即两个以及两个类以上的关系
  • 在获取与使用时会存在一些情况:
    • public:长辈对外公开的自身所有物,最终都会是后代的
    • protected:受保护的自身所有物,最终也是后代的,但外人不知道
    • private:长辈私人所有的隐私物,不想让任何人知道和获取,所以后代以及其他人都不可知
  • 长辈与后代必须有严格先后,长辈的下一代不能是长辈的下一代的下一代,即兄弟关系不能变成父子关系。用程序语言来说,子类继承时,不能继承和自己平级的类,如下例子 [1]:
class Shape
{
protected:float width_;float height_;
};// 错误情况,在当前例子中,Rectangle类将会同时继承Shape和PaintCost两类
// 这样会导致无法区分所继承的成员变量是由哪一类传递来的
// class PaintCost: public Shape
// {
// };// 正确情况
class PaintCost
{
};class Rectangle : public Shape, public PaintCost
{public:int getArea(){// 如果使用错误情况,此时无法明确width_和height_是继承自哪里// 因为PaintCost类也继承了Shape类,所以也有width_和height_变量return (width_ * height_);}
};

重载和重写

区别

重载重写
范围同一类不同类(基类与派生类之间,即多态概念)
声明样式函数名相同,参数不同函数名和参数都相同
关键字可忽略不写基类必须带有 virtual 关键字

重载

重写

参考文献

[1] https://www.w3cschool.cn/cpp/cpp-inheritance.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 将gitee 上的nvim 配置 从gitee 上下载下来,并配置虚拟机
  • [Day 44] 區塊鏈與人工智能的聯動應用:理論、技術與實踐
  • Mendix 创客访谈录|Mendix 如何化解工业企业数字化转型的复杂性
  • 【人工智能基础四】循环神经网络(RNN)与长短时记忆网络(LSTM)
  • fabricjs 实现图像的二值化功能
  • 计算机网络基础 - 计算机网络和因特网(2)
  • ARM/Linux嵌入式面经(二十):地平线嵌入式开发
  • SQL进阶技巧:数据预处理如何对数据进行分桶【分箱】?
  • SD8223LC 首鼎SHOUDING单键电容式触摸IC SOT23-6
  • 面试经典算法150题系列-h指数
  • Jenkins参数化构建
  • C# 使用 NLog 输出日志到文件夹
  • springboot新农村综合展示平台-计算机毕业设计源码41793
  • 震惊!一男子深夜燥热难耐,竟然偷偷起身打开电脑并开始 学习c++入门基础(下)
  • 一个很变态却非常实用的发论文的新方向,【Transformer+目标检测】
  • 【React系列】如何构建React应用程序
  • 【附node操作实例】redis简明入门系列—字符串类型
  • JavaScript新鲜事·第5期
  • Laravel5.4 Queues队列学习
  • Median of Two Sorted Arrays
  • MySQL用户中的%到底包不包括localhost?
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Spring Boot MyBatis配置多种数据库
  • WebSocket使用
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 汉诺塔算法
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 京东美团研发面经
  • 一个JAVA程序员成长之路分享
  • 智能合约Solidity教程-事件和日志(一)
  • 走向全栈之MongoDB的使用
  • #AngularJS#$sce.trustAsResourceUrl
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (solr系列:一)使用tomcat部署solr服务
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • *p=a是把a的值赋给p,p=a是把a的地址赋给p。
  • ..回顾17,展望18
  • .NET Framework 4.6.2改进了WPF和安全性
  • .net web项目 调用webService
  • .NET框架设计—常被忽视的C#设计技巧
  • .net专家(张羿专栏)
  • ::
  • @EnableConfigurationProperties注解使用
  • [ A*实现 ] C++,矩阵地图
  • [\u4e00-\u9fa5] //匹配中文字符
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [Angular] 笔记 21:@ViewChild
  • [AWS]CodeCommit的创建与使用
  • [BetterExplained]书写是为了更好的思考(转载)