IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> c++primer 第十五章笔记 -> 正文阅读

[C++知识库]c++primer 第十五章笔记

15.1 oop:概述

  • 面向对象程序设计核心思想
  • 数据抽象 ,继承,动态绑定

继承:联系在一起的类构成一种层次关系,通常在层次关系的根部有一个基类
派生类:其他类则直接或间接地从基类继承而来
继承示例代码

class Quote
{
public:
    string isbn()const;
    virtual double net_price(size_t n)const;
    
};

class Bulk_quote :public Quote
{
public:
    double net_price(size_t)const override;
};

override关键字:新标准 允许派生类显示地注明他将使用那个成员函数改写基类的虚函数

动态绑定:

//计算并打印销售给定数量的某种书籍所得的费用
double print_total(ostream& os, const Quote& item, size_t n)
{
    //根据传入的item形参的对象类型调用Quote::net_price
    //或者Bulk_quote::net_price
    double ret = item.net_price(n);
    os << "ISBN:   " << item.isbn() //调用 Quote::net_price
        << " # sold: " << n << "total due: " << ret << endl;

    return ret;
}

重点是 Quote的调用 ,看 double ret =item.net_price(n);
这一段是用Quote的对象调用函数,他也是可以用派生类Bulk_quote的对象调用它。而且print_total函数调用的是引用类型调用net_price函数的。
下面的代码解释了你用基类和派生类的区别,是不一样的。

   //basic的类型是Quote;bulk的类型是Bulk_quote
    Quote basic;
    Bulk_quote bulk;
    print_total(cout, basic, 20);
    print_total(cout, bulk, 20);

动态绑定:上述过程中函数的运行版本由实参决定,
就是在运行时,而不是事先知道,是在运行的时候,
就是运行时选择函数的版本,所以动态绑定有时又被称为
运行时绑定

在c++语言,当我们使用基类的引用(或者指针)
调用一个虚函数(virtual)时将发生动态绑定

15.2 定义基类和派生类

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:32:58  更:2022-02-05 21:35:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 10:01:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码