Im пытается вывести следующее:Какие функции должны быть виртуальными для вывода определенных элементов?
apple
banana
orange
banana
Должен ли я сделать мои функции виртуального для вывода?
class Red
{
public:
void PrintMe() { Foo(); Bar(); }
void Foo() { printf("pear\n"); }
void Bar() { printf("lemon\n"); }
};
class Green : public Red
{
public:
void PrintMe() { Bar(); Foo(); }
void Foo() { printf("apple\n"); }
void Bar() { printf("banana\n"); }
};
class Blue : public Green
{
public:
void Foo() { printf("orange\n"); }
void Bar() { printf("grape\n"); }
};
int main(int argc, char* argv[])
{
Green g;
Blue b;
Red *pR1 = &g;
Red *pR2 = &b;
pR1->PrintMe();
pR2->PrintMe();
}
Проголосовало за закрытие этого больного вопроса. Слишком много вопросов, на которые можно ответить. –
Нет голосов, чтобы закрыть и не согласиться с -1. У этого вопроса есть два правильных ответа (да и другие вопросы, или нет, потому что). Пища для размышлений. –
$ 20 говорит, что OP никогда не выбирает ответа и никогда не исправляет вопрос, чтобы иметь смысл. –