了解在派生类的构造函数中调用基类的构造函数是否很重要?
我的意思是,这样做有什么实际应用吗?如果是,有人可以给我一个例子,并解释何时应用它,何时不应用?
我刚刚了解了它,我不知道它是否在实际应用中使用。
以下是一个例子:
class base {
int a;
int b;
public:
base(int i, int j) {
a=i;
b=j;
}
};
class derived : public base {
public:
derived(int p, float q) : base(p, q) //passing parameters to base class
{ }
};
答案 0 :(得分:0)
我的意思是,这样做有什么实际应用吗?
是。用例数量太多,无法在此列出。
如果是,有人可以向我提供一个例子,并解释何时应用它,何时不是?
以下是几个应用它的示例。
示例1:
struct Rectangle
{
Rectangle(int w, int h) : width(w), height(h) {}
int width;
int height;
};
struct Square : Rectangle
{
Square(int size) : Rectangle(size, size) {}
};
示例2:
struct Employee
{
Employee(std::string const& name, int id) : name(name), id(id) {}
std::string name;
int id;
};
struct Manager : struct Employee
{
Manager(std::string const& name, int id) : Emplyee(name, id) {}
void addEmployee(int id)
{
managedEmployeeIDs.insert(id);
}
std::set<int> managedEmployeeIDs;
};
很难说出它不合适的地方,因为它有很多不合适的方式。在给出一个例子时,更容易判断它是否合适。