Как реализовать тройную диспетчерскую в C ++?C++

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

Сообщение Anonymous »

Диспетчер MUTIPLE может быть достигнута в C ++ с помощью различных механизмов/методов. (Например, тройной диспетчер.) < /P>
Вот один из таких примеров.#include
#include
#include

struct Rectangle;
struct Elipse;

struct Shape {

Shape(std::string_view name)
: name(name)
{

}

virtual ~Shape() { }

std::string get_name() const {
return name;
}

virtual void collide(Shape* shape2) = 0;

virtual void collideRectangle(Rectangle* rectangle1) = 0;
virtual void collideElipse(Elipse* elipse1) = 0;

std::string name;
};

void collideRectangleRectangle(Rectangle* rectangle1, Rectangle* rectangle2);
void collideRectangleElipse(Rectangle* rectangle1, Elipse* elipse2);
void collideElipseRectangle(Elipse* elipse1, Rectangle* rectanlge2);
void collideElipseElipse(Elipse* elipse1, Elipse* elipse2);

struct Rectangle : public Shape {

Rectangle(std::string_view name)
: Shape(name)
{

}

void collide(Shape* shape2) override {
std::cout

Подробнее здесь: https://stackoverflow.com/questions/797 ... patch-in-c
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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