У меня есть следующий базовый класс«Использование для» ключевого слова для вызова конструктора базового класса
class Grammateas
{
public:
Grammateas(std::string name):_name(name){};
virtual ~Grammateas(){};
private:
std::string _name;
};
и на следующий производный классе
class Boithos final : public Grammateas
{
public:
//using Grammateas::Grammateas;
Boithos(int hours):Grammateas("das"),_hours(hours){};
virtual ~Boithos(){};
private:
int _hours;
};
Я хочу использовать конструктор базового класса, чтобы создать объект как это
Boithos Giorgakis(5); //works
Boithos Giorgakis("something"); //Bug
Я прочитал, что я могу использовать, используя ключевое слово, но когда я пытаюсь использовать его как
using Grammateas::Grammateas;
компилятор возвращает сообщение
error: ‘Grammateas::Grammateas’ names constructor
Можете ли вы помочь мне понять, используя ключевое слово с конструкторами?
Это для * наследующих * конструкторов ... –
Наконец, я обнаружил, что эта функция доступна только при GCC 4.8 У меня есть gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 –