抽象基类构造函数初探
来源:互联网 发布:韩子高网络剧优酷视频 编辑:程序博客网 时间:2024/06/06 16:41
抽象基类构造函数可以定义在类外么?
显然可以
#pragma once#include<string>using std::string;class Quote {public: Quote() = default; Quote(const string& s, double p); string isbn()const { return bookNo; } virtual double netPrice(size_t n) const { return n*price; } virtual ~Quote() = default;private: string bookNo;protected: double price=0.0;};Quote::Quote(const string& s, double p) :bookNo(s), price(p) {}class BulkQuote :public Quote {public: BulkQuote() = default; BulkQuote(const string&s, double p, size_t q, double d) : Quote(s, p), min_qty(q), discount(d) {} double netPrice(size_t) const override;private: size_t min_qty=0; double discount = 0.0;};double BulkQuote::netPrice(size_t cnt) const { if (cnt >= min_qty) return cnt*(1 - discount)*price; else return cnt*price;}
但要注意:类外应该加上域名限定符,即该构造函数属于哪一个类
Quote::Quote(const string& s, double p) :bookNo(s), price(p) {}
主函数
#include<iostream>#include"Quote.h"using std::cout; using std::endl;int main() { BulkQuote bq("DargonBall", 15, 10, 0.5); cout << "should pay: "<<bq.netPrice(15) << endl; return 0;}
运行结果
should pay: 112.5
0 0
- 抽象基类构造函数初探
- 抽象类构造函数
- 在抽象基类构造函数调用该抽象方法
- 类的构造函数初探
- 抽象类的构造函数
- 抽象类的构造函数
- 抽象基类的构造函数和析构函数
- c++构造函数初探
- 构造函数初探
- C#抽象类的构造函数
- java 抽象类 和接口 构造函数
- 抽象类可以有构造函数么?
- java抽象类构造函数的含义
- 抽象类可以有构造函数吗
- 抽象类也有构造函数
- C++ primer(十三)--类继承、构造函数成员初始化、虚函数、抽象基类
- 一个例子理解 C++ 面向对象——构造函数、虚函数、抽象基类
- kotlin的 类,继承,重载,抽象类,构造函数
- C#报表数据批量快速导出到Excel(百万级数据秒级内完成)
- (4.2.0)GitHub开源项目收集
- 数列求和公式
- Bounding box regression详解
- web.xml 中的listener、 filter、servlet 加载顺序及其详解
- 抽象基类构造函数初探
- SQL Server 异常处理机制(Begin try Begin Catch)
- 2017顺丰科技java开发
- Linux下各类环境搭建
- hadoop 2.x之HDFS HA讲解之六 HA机器规划
- 使用gradle编译打包java项目
- 循环双链表的手动构建总结
- Python 实现火车票查询工具--实验楼
- 【NOIP2012模拟10.9】电费结算