Re: почему ругается компилятор? MSVC 2010
От: rg45 СССР  
Дата: 30.06.25 15:33
Оценка:
Здравствуйте, sushko, Вы писали:

S>Visual C++ 2010. Компилятор ругается на вызов child.print(10) в _tmain: ему не хватает аргументов.


S>Скажите, что я делаю не так?


S>
S>#include "stdafx.h"

S>class Parent
S>{
S>public:
S>    virtual void print(int x)
S>    {
S>        printf("%d", x);
S>    };
S>};

S>class Child: public Parent
S>{
S>    virtual void print(int x, int y)
S>    {
S>        printf("%d %d", x, y);
S>    };
S>};

S>int _tmain(int argc, _TCHAR* argv[])
S>{
S>    Child child;
S>    child.print(10);
S>    return 0;
S>}

S>


Child::print не оверрайдит (override), а скрывает (hide) Parent::print.

Добавь в Child using декларацию:

public:
    using Parent::print;
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 30.06.2025 16:03 rg45 . Предыдущая версия . Еще …
Отредактировано 30.06.2025 16:02 rg45 . Предыдущая версия .
Отредактировано 30.06.2025 15:34 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.