Есть базовый класс Computer и производный класс Laptop:
class Computer
{
private:
string model;
};
class Laptop : Computer
{
private:
string typeOfLaptop;
};
Каким образом следует перегрузить операторы ввода/вывода? Я могу сделать это задав параметры базового класса типом protected и реализовать дружественные функции.
class Computer
{
protected:
string model;
};
class Laptop : public Computer
{
private:
string typeOfLaptop;
public:
friend istream& operator>>(istream& in, Laptop& obj);
friend ostream& operator<<(ostream& os, const Laptop& obj);
};
istream& operator>>(istream& in, Laptop& obj)
{
in >> obj.model >> obj.typeOfLaptop;
return in;
}
ostream& operator<<(ostream& os, const Laptop& obj)
{
return os << obj.model << " " << obj.typeOfLaptop;
}
Но я думаю, что это не совсем верно. Может быть есть способ получше?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня базовый класс с двумя виртуальными методами и два класса-наследникаВ функции main есть массив указателей на базовый класс, который может...
Возможно ли реализовать реализовать именно расширение памяти? Или хотя бы при помощи манипуляций с указателями избежать лишнего копирования...
Скорее всего, данный вопрос не соответствует тематике Stack Overflow на русском, согласно правилам описанным в справке
У меня есть массив и я его изменил алгоритмом Фишера-ЙетсаПроблема заключается в том, что у меня числа в измененном массиве начинаются с нуля,...