Cho mình hỏi tại sao C++ yêu cầu mình dùng initialization list mà không khởi tạo phần base của derived object trong thân hàm luôn?
Ví dụ: thay vì:
class Base
{
public:
Base(int i) {}
};
class Derived: public Base
{
Derived(): Base(4)
{
}
};
mà không phải
class Base
{
public:
Base(int i) {}
};
class Derived: public Base
{
Derived()
{
Base(4);
}
};


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?