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

Добавление виртуальной функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Разложить число в массив так, чтобы элементами была последовательность с единицы о этого числа http://www.cyberforum.ru/cpp-beginners/thread1133181.html
как разложить число и записать в массив....например дано 4 4= 4 3 2 1 в масив записать 4 3 2 1
C++ Удалить все повторяющиеся элементы из одномерного массива Из одномерного массива A(M) удалите все повторяющиеся элементы, оставив первый экземпляр повторяющегося элемента. Массив сожмите. Рекомендуемое кол-во циклических операторов (без ввода и вывода данных): 3 http://www.cyberforum.ru/cpp-beginners/thread1133178.html
C++ Определить, по какую сторону плоскости точки
Добрый вечер. Нужно обобщить задачу расположения точек относительно прямой на трехмерный случай. Даны 5 точек - A, B, C, X, Y. Несовпадающие точки A, B, C задают плоскость. Нужно определить, находятся ли точки X и Y по одну или по разные стороны от плоскости. Вкурил тему с двумерным случаем, векторные и псевдоскалярные произведения, но как применить для трехмерного случая - не хватает...
C++ Игнорирование пробелов при чтении символов из входного потока
Задача: нужно найти количество слов в тексте. #include <fstream> #include <iostream> #include <conio.h> using namespace std; int main() { ifstream fin;
C++ Найти в строке матрице последовательность одинаковых элементов с минимальной длиной. http://www.cyberforum.ru/cpp-beginners/thread1133146.html
Найти в строке матрице две серию(где серия последовательность одинаковых элементов) с минимальной длиной.
C++ Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке Помогите пожалуйста! Ввести строку символов. Создать новую строку следующим образом: с начало три символа первой строки, потом эти же три символа в обратном порядке. Выдать на экран созданную строку символов. подробнее

Показать сообщение отдельно
dimcoder
Полярный
458 / 431 / 67
Регистрация: 11.09.2011
Сообщений: 1,129
29.03.2014, 18:43
Создаешь указатель базового класса и присваиваешь ему адрес реального объекта производного класса.
C++
1
2
DistZnak distZnak;
Distance *distancePtr = &distZnak;
а потом вызываешь виртуальную функцию через базовый класс.
Смысл такое короче:
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
#include <iostream>
#include <conio.h>
 
using namespace std;
 
class BaseClass
{
    public:
        virtual void print()
        {
            cout << "BasePrint" << endl;
        }
};
 
class SonClass: public BaseClass
{
    public:
        virtual void print()
        {
            cout << "InheritedPrint" << endl;
        }
};
 
int main()
{
    SonClass sonClass;
    BaseClass *baseClass = &sonClass;
    
    baseClass->print();   //выведет InheritedPrint
    
    system("PAUSE > NULL");
    return 0;
}
В твоем случае print() может заменить ShowDist().
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru