Сообщение Re: почему ругается компилятор? MSVC 2010 от 30.06.2025 15:33
Изменено 30.06.2025 16:02 rg45
Re: почему ругается компилятор? MSVC 2010
Здравствуйте, sushko, Вы писали:
S>Visual C++ 2010. Компилятор ругается на вызов child.print(10) в _tmain: ему не хватает аргументов.
S>Скажите, что я делаю не так?
S>
Parent::print не оверрайдит (override), а скрывает (hide) Child::print.
Добавь в Child using декларацию:
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>
Parent::print не оверрайдит (override), а скрывает (hide) Child::print.
Добавь в Child using декларацию:
using Parent::print.
Re: почему ругается компилятор? MSVC 2010
Здравствуйте, sushko, Вы писали:
S>Visual C++ 2010. Компилятор ругается на вызов child.print(10) в _tmain: ему не хватает аргументов.
S>Скажите, что я делаю не так?
S>
Parent::print не оверрайдит (override), а скрывает (hide) Child::print.
Добавь в Child using декларацию:
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>
Parent::print не оверрайдит (override), а скрывает (hide) Child::print.
Добавь в Child using декларацию:
public:
using Parent::print;