Как интерфейсы решают проблему круга и эллипса?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как интерфейсы решают проблему круга и эллипса?

Сообщение Anonymous »

Иногда говорят, что интерфейсы решают несколько проблем объектно-ориентированного программирования, в частности проблему круга-эллипса. Это был бы этот интерфейс

Код: Выделить всё

class IEllipse {
public:
virtual double GetXRadius() const = 0;
virtual double GetYRadius() const = 0;
virtual void SetXRadius(double r) = 0;
virtual void SetYRadius(double r) = 0;
}
Но тогда у нас все равно будет такая проблемная функция, которая работает для некоторых реализаций IEllipse, но не для реализации круга (которая подключает как SetXRadius, так и SetYRadius< /code> в тот же радиус переменной хранилища):

Код: Выделить всё

std::string SerializeDestructively(IEllipse& ellipse) {
std::stringstream s;
s 

Подробнее здесь: [url]https://stackoverflow.com/questions/78744438/how-do-interfaces-solve-the-circle-ellipse-problem[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»