ReadingLab / Discussion-for-Cpp

C++ 中文讨论区
MIT License
88 stars 63 forks source link

15.7.4继承的构造函数 #30

Closed NominationP closed 9 years ago

NominationP commented 9 years ago
class Bluk_quote:public Disc_quote{
    public:
        Bluk_quote()=default;
        Bluk_quote(const string& book,double price,size_t qty,double  disc):Disc_quote(book,price,qty,disc){}
        double net_price(size_t) const override;
};

class Bluk_quote:public Disc_quote{
    public:
        using Disc_quote::Disc_quote;   //继承Disc_quote的构造函数
        double net_price(size_t) const override;
};

俩个构造函数有啥区别吗 做到15.29必须用第二个构造函数运行结果才能正确

pezy commented 9 years ago

@NominationP

做到15.29必须用第二个构造函数运行结果才能正确

这个有实例可以证明吗?我写的 15.29 使用上面那种形式的构造函数,也可以得到正确的结果。

NominationP commented 9 years ago

@pezy 嗯,可能是我的代码问题,也就是说那俩个构造函数没区别吧

pezy commented 9 years ago

@NominationP 恩,书上写了:

These compiler-generated constructors have the form

  derived(parms) : base(args) { }

你的第二个构造最终也会生成第一个那样。

NominationP commented 9 years ago

@pezy thank you!!