在写子类的构造函数时,要在初始化列表中指定使用的父类的构造函数并完成其初始化,如下例:
AudioBook(const string& bookname, const string& author, const string& narrator):
Book(bookname,author), m_narrator(narrator)
原因是子类实例化时调用子类的构造函数时要先调用父类的构造函数完成父类的初始化,父类如果有多个构造函数的话,必须指定父类的一个构造函数。
non-member function 的声明与实现最好分开,声明在.h中,实现在.cpp中。