Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
#1

Сокрытие методов при наследовании - C++

06.10.2012, 10:18. Просмотров 1353. Ответов 8
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class A {
public:
void Draw(double){}
};
 
class B : public A {
public:
void Draw(int){}
};
 
int main(){
B b;
b.Draw(10.5);
returb 0;
}
Выдает ошибкупри вызове функции. после наследования не видит "Draw(double)". почему?

компилятор msvs2012
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2012, 10:18     Сокрытие методов при наследовании
Посмотрите здесь:

Реализация двух виртуальных методов с одинаковыми именами при множественном наследовании - C++
Доброй ночи. Надеюсь, я внятно описал что меня интересует в названии топика. Теперь распишу детальней, что хочу: Есть два абстрактных...

Ошибка при наследовании - C++
Вот такой код: class Figure2 { protected: int Color; int CenterX; int CenterY; public:

Ошибка при наследовании? - C++
Программа компилируется, но консоль не выдает информацию. Связано ли это как то с переполнением буфера? Программа небольшая укажите...

Ошибка при наследовании - C++
Здраствуйте,не могу понять где именно оштбся,возможно кто-то поможет,код прилагаю //#include "stdafx.h" #include <iostream> ...

Конструкторы при наследовании - C++
Добрый вечер. Пишу программу с наследованием классов. Класс-родитель - nasled, производный от него - steck. Когда пытаюсь вызвать...

Ошибка при наследовании - C++
Привет! Ни как не могу разобраться, в чём дело. Создал 2 класса: Base и Derived, где Derived наследует Base. Но при компиляции возникает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
06.10.2012, 10:29     Сокрытие методов при наследовании #2
Цитата Сообщение от Kgfq Посмотреть сообщение
returb 0;
C++
1
return 0;
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
06.10.2012, 10:44  [ТС]     Сокрытие методов при наследовании #3
ошибка именно в том, что не видит функцию.
с rerurb - опечатка, в коде ее нету
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
06.10.2012, 10:59     Сокрытие методов при наследовании #4
если только явно вызвать
b.A :: Draw(10.5);
MrCold
854 / 752 / 71
Регистрация: 11.01.2012
Сообщений: 1,942
06.10.2012, 10:59     Сокрытие методов при наследовании #5
http://liveworkspace.org/code/199474...1caa0b36688a33
Все видит .
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
06.10.2012, 11:23  [ТС]     Сокрытие методов при наследовании #6
MrCold,
igorrr37, явно - да, но мне нужно неявно
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
06.10.2012, 11:28     Сокрытие методов при наследовании #7
Определение в дочернем классе перекрыло определение из базового. Нужно сделать метод базового класса видимым в дочернем:
C++
1
2
3
4
5
class B...
{
...
using void Draw(double);
};
igorrr37
1644 / 1272 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
06.10.2012, 11:35     Сокрытие методов при наследовании #8
или так
C++
1
2
3
4
5
6
7
8
class B : public A {
public:
    using A::Draw;
    void Draw(int)
    {
        std::cout << "B::Draw" << std::endl;
    }
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 12:52     Сокрытие методов при наследовании
Еще ссылки по теме:

Сравнение при наследовании - C++
Есть базовый класс, пусть его зовут А, а у него есть 4 потомка. Пусть их зовут: B, C, D и E. Базовый класса абстрактный,в нём есть...

Деструктор при наследовании - C++
Имеется 3 класса (базовый -&gt; производный -&gt; производный2) в классе базовый имеется переменная char* var; в производном тоже есть 1...

Ошибка при наследовании - C++
Подскажите пожалуйста почему наследование класса readwrite не работает? //Программа считывает данные из файла и строит графики ...

Ошибка при наследовании - C++
Имеется архитектура вида: класс &quot;человек&quot;, от него производные &quot;препод&quot; и &quot;член приемной комиссии&quot;. От их двоих производный класс &quot;Препод и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Kgfq
74 / 37 / 2
Регистрация: 23.09.2012
Сообщений: 408
07.10.2012, 12:52  [ТС]     Сокрытие методов при наследовании #9
Deviaphan, ваш способ не работает
Yandex
Объявления
07.10.2012, 12:52     Сокрытие методов при наследовании
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru