C++ //练习 15.17 尝试定义一个Disc_quote的对象,看看编译器给出的错误信息是什么?

C++ Primer(第5版) 练习 15.17

练习 15.17 尝试定义一个Disc_quote的对象,看看编译器给出的错误信息是什么?
环境:Linux Ubuntu(云服务器)
工具:vim

 

代码块
/*************************************************************************
	> File Name: ex15.17.cpp
	> Author: 
	> Mail: 
	> Created Time: Fri 12 Jul 2024 09:13:44 AM CST
 ************************************************************************/

#include<iostream>
using namespace std;

class Quote{
    public:
    Quote() = default;
    Quote(const std::string &book, double sales_price): bookNo(book), price(sales_price) {}
    std::string isbn() const { return bookNo; }
    
    virtual double net_price(std::size_t n) const { return n * price; }
    virtual ~Quote() = default;

    private:
    std::string bookNo;
    
    protected:
    double price = 0.0;
};

class Disc_quote: public Quote{
    public:
    Disc_quote() = default;
    Disc_quote(const std::string &book, double price, std::size_t qty, double disc): Quote(book, price), quantity(qty), discount(disc) {}
    double net_price(std::size_t) const = 0;

    protected:
    std::size_t quantity = 0;
    double discount = 0.0;
};

int main(){
    Disc_quote dis;

    return 0;
}
运行结果显示如下:

在这里插入图片描述

解释:

不能声明抽象基类的变量

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 09:58:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 09:58:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 09:58:03       58 阅读
  4. Python语言-面向对象

    2024-07-16 09:58:03       69 阅读

热门阅读

  1. Ajax是什么?如何在HTML5中使用Ajax?

    2024-07-16 09:58:03       24 阅读
  2. C 语言 do while 语句

    2024-07-16 09:58:03       25 阅读
  3. Apache Spark 的基本概念和在大数据分析中的应用

    2024-07-16 09:58:03       21 阅读