Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Классы и работу с ними https://www.cyberforum.ru/ cpp-beginners/ thread1037213.html
Делаю лабы и сдаю. Но увы не понимаю всего потому вопрос. Допустим есть некий класс Base и его наследник Production. Класс Base описывает некий объект (характеристики объекта) и функции доступа к...
Разложить N камней на M Куч C++
Всем доброго времени суток! Возникла проблема с решением одной задачи - необходимо разложить N камней на M куч таким образом, чтобы минимизировать вес самой тяжелой кучи. Можете подсказать хотя бы в...
C++ Обработка исключений Ребят, всем привет) помогите разобраться с вроде как простой задачкой, но весьма затруднительной для меня) По исключениям инфы мало в Сети, если она есть - то она одинаковая везде и во-многом не... https://www.cyberforum.ru/ cpp-beginners/ thread1037178.html C++ Из float в string Как из переменной типа флоат записать число в string? float x = -123.56; string Str; Нужно чтобы Str стало равно "-123.56" https://www.cyberforum.ru/ cpp-beginners/ thread1037174.html
Программа с двусвязным списком крашится C++
Здравствуйте! написал код для двусвязного списка, проблема следующая: все компилируется, запускается интерфейс, но какую бы функцию я не вызывал - окно вылетает ("прекращена работа...") ...
C++ Преобразование типа https://www.cyberforum.ru/ cpp-beginners/ thread1037125.html
Есть числа типов int и double. Их надо преобразовать в тип char, чтобы записать их в поток(файл *.bin). И какая функция соединяет строки? Например stroka1+stroka2+...+strokaN в вид одна большая...
C++ Программа вылетает на delete[] Line Подскажите, кто-нибудь. Программа вылетает на delete Line; не пойму почему, вроде, все синтаксически правильно... int Size = 1, Step = 2; char * Line = new char ; int Count = 0, i = 0; ... https://www.cyberforum.ru/ cpp-beginners/ thread1037124.html C++ Не работает сортировка
День добрый. Проблема такова: 1) не правильно происходит расчёт суммы всех эл-ов до максимального числа. 2) не сортирует массив от минимального к наибольшему числу. 1. Int f2 (int*a, int n) {...
C++ В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины Помогите пожалуйста составить программу !!! вот условие В строке, состоящей из слов и знаков препинания (пробел . : , ! ?-;), найти слово максимальной длины, не содержащее заданную букву. https://www.cyberforum.ru/ cpp-beginners/ thread1037100.html C++ Число представляется массивом, каждый элемент которого – цифра https://www.cyberforum.ru/ cpp-beginners/ thread1037085.html
Задание: Создайте абстрактный базовый класс Integer (целое) с виртуальными арифметическими операциями и функцией вывода на экран. Определите производные классы Decimal (десятичное) и Binary...
C++ Функция объявления двумерного массива
Данный код - объявляет двумерный массив arr. Как из этого куска кода сделать функцию? Передаваемые параметры как мне кажется n и m, а возвращаемый я не понимаю как сделать. Помогите int n, m; cin...
C++ Как правильно освобождать мютексы Здравствуйте, у меня вопрос, есть разница в том как освобождать мютексы?? пример захватываем мютекс А, потом захватываем В ... освобождаем А, освобождаем В или нужно освобождать обязательно в... https://www.cyberforum.ru/ cpp-beginners/ thread1037070.html
583 / 386 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
11.12.2013, 16:30 0

виртуальные функции - C++ - Ответ 5474941

11.12.2013, 16:30. Показов 392. Ответов 1
Метки (Все метки)

Ответ

Не могу перегрузить функцию
Есть понятие перегрузка и переопределение.
Вы переопределяете(затеняете) функцию базового класса новой функцией.
Пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
 
class Bass
{
    public:
        virtual int fun(int K)
        {
            x=1+K;
            return x;
        }
    private: int x;
};
 
class Bass2:public Bass
{
    public:
        int fun(int K)//перегруженная базового класса
        {
            x=1+K+100;
            return x;
        }
        
         int fun(int K, int T)//обьявленная новая с таким же именем но другими параметрами
        {
            x=1+K+T;
            return x;
        }
    private: int x;
};
 
 int main()
 {
    Bass b1;
    Bass2 b2;
    
    std::cout << b1.fun(5) << std::endl;//виртуальная ф-я базовый класс
    std::cout << b2.fun(10) << std::endl;//перегруженная функция базового класса 
    std::cout << b2.fun(10,5) << std::endl;//тоже имя ф-ии но другой набор параметров
    
     system("PAUSE");
     return 0;
 }
Добавлено через 2 минуты
Точнее я неправильно сказал вы не затеняеете а просто не реализуете

Добавлено через 54 секунды
Слово virtual не гарантирует того что обязательно нужно перегрузить функцию в классе наследнике.

Добавлено через 1 минуту
Если вы этого не сделаете будет использоваться функция базового класса.

Вернуться к обсуждению:
виртуальные функции C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2013, 16:30
Готовые ответы и решения:

Виртуальные и чисто виртуальные функции
Чем они отличаются?? если можно, с примерами. И как из виртуальной функции сделать чисто...

Виртуальные функции.
Приветствую всех. Дана такая программа (на самом деле она больше и сложнее, но структура и проблема...

Виртуальные функции
Пытаюсь понять что это такое но не понимаю. Может есть какие то болие понятные примеры , а то то...

Виртуальные функции в С++
Здравствуйт. Помогите осмыслить доконца вирт. ф-ции. После прочтения источников я собрал...

1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2013, 16:30

виртуальные функции
Помогите плиз с вертуальными функциями. Некак немогу понят вот эту задачу: переопределяемая...

Виртуальные функции
Создать базовый класс «молодой человек» и производные классы «студент», «военнослужащий», «военный...

Виртуальные функции
Какие происходят изменения, когда в классе объявляем одну или несколько функций виртуальными? ...

Виртуальные функции
Объясните, для чего необходимы виртуальные функции. Где их рационально использовать. P.S. Если...

Виртуальные функции С++
Задача: В классе хранится целое, и определяется виртуальная функция shownum(). Создать 2...

Виртуальные функции
Разработать программу с использованием наследования классов, реализующую классы: Земноводное(ареал...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru