Tôi có lớp cơ sở sauCác "Sử dụng" từ khóa để gọi lớp cơ sở constructor
class Grammateas
{
public:
Grammateas(std::string name):_name(name){};
virtual ~Grammateas(){};
private:
std::string _name;
};
và lớp được thừa kế sau
class Boithos final : public Grammateas
{
public:
//using Grammateas::Grammateas;
Boithos(int hours):Grammateas("das"),_hours(hours){};
virtual ~Boithos(){};
private:
int _hours;
};
Tôi muốn sử dụng các constructor lớp cơ sở để tạo ra đối tượng như này
Boithos Giorgakis(5); //works
Boithos Giorgakis("something"); //Bug
Tôi đọc rằng tôi có thể sử dụng từ khóa sử dụng nhưng khi tôi cố gắng sử dụng từ khóa như
using Grammateas::Grammateas;
Trình biên dịch trở lại nhắn
error: ‘Grammateas::Grammateas’ names constructor
bạn có thể giúp tôi hiểu được những từ khóa sử dụng với nhà thầu?
Nó dành cho * kế thừa * constructors ... –
Cuối cùng tôi thấy rằng tính năng này chỉ có sẵn tại GCC 4.8 Tôi có gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 –