Это может быть глупый вопрос о наследовании, но не имеет особого смысла, почему мне не разрешено это делать.Базовый класс, от которого я наследую: std::string
:
class A : public std::string
Когда я использую class A
, я хочу сделать это:
A text;
std::string str = "hello";
text = str;
Компилятор жалуется, что нетдвоичный оператор =
для этого.
Причина, по которой я хочу унаследовать от строки, состоит в том, чтобы добавить некоторые дополнительные функции, но не потерять функциональность, которую std::string
дает по умолчанию.
Есть липричина, по которой базовый класс не может быть автоматически назначен подклассу?
Спасибо.