Я читал о наследовании, но у меня все еще нет ясности на 100%, вот мой вопрос: у меня, например, класс, полный вещей:
class Something
{
public:
Something();
Something(int A);
Something(Something S);
~Something();
Something& operator=(const Something & s);
Something operator+(const Something & s) const;
// more methods ...
protected:
int A,B,C;
}
Все методы реализованы где-то, и теперь я просто хочу, чтобы новый класс добавил еще один атрибут и, возможно, один метод, но я все еще хочу такое же поведение, как и в SuperClass (конструктор, деструктор, методы, операторы), поэтому я делаю что-то вроде этого:
class SomethingMore : public Something
{
public:
void OnlyMethodHere();
private:
int D;
}
Но я получаю что-то вроде:
undefined reference to SomethingMore::SomethingMore(int)
Можно ли сказать компилятору использовать все так же, как в суперклассе, или мне нужно сделать суперкласс:: method () в методе каждого ребенка?