C++ Primer问题总结(10)

1.第15章

1.原来使用虚函数是在基类和派生类都将一个函数头前面加上virtual,现在c++11新标准允许派生类显式地注明它将使用哪个成员函数改写基类的虚函数,具体措施是在该函数的形参列表之后增加一个override关键字
2.基类通常应该定义析构函数为虚的
3.派生类不能直接访问基类的私有成员,但是可以访问受保护类成员
4.派生类构造函数要在基类构造函数完成之后创建完成,,因为要先构造基类的成员,才有派生类的成员
5.派生类必须将虚函数重新声明,对于普通版本成员函数派生类会直接继承
6.会继承基类的私有成员,但是不能访问它们
7.基类的指针或者引用绑定到派生类对象中的基类部分上,但是对于虚函数,会调用相应对象类型的版本
8.静态成员派生类和基类都可以调用
9.防止一个类被继承,可以在类名称后面加上final
练习15.3
hpp

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 ~Quote() = default;
	virtual double net_price(std::size_t n)const { return n * price; };
private:
	std::string bookNo;
protected:
	double price = 0.0;
};

class Bulk_quote :public Quote
{
public:
	double net_price(std::size_t n)const override;
};
double print_total(std::ostream &os, const Quote&item, size_t n);

cpp

using namespace std;
double print_total(ostream &os, const Quote&item ,size_t n)
{
	double ret = item.net_price(n);
	os << "ISBN:" << item.isbn()
		<< "# sold:" << n << "total due:" << ret << endl;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值