Форум программистов, компьютерный форум, киберфорум
Наши страницы

Таблица виртуальных функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массивы/Функции.Приплыл! http://www.cyberforum.ru/cpp-beginners/thread116344.html
Доброго времени суток прграммеры. Не раз мне помогал этот форум надеюсь и в этот раз поможет как говориться приплыл. Такая вот значит задача. Желательно что бы функция распологалась до её вызова....
C++ Создать массив структур Создать массив структур и выполнить задание согласно своему варианту. Дана информация о шести вкладчиках в сберкассы. Структура имеет вид: фамилия, район, социальное положение, величина вклада.... http://www.cyberforum.ru/cpp-beginners/thread116334.html
C++ считывание данных из файла
как реализовать считывание текстовых данных по столбцам из файла? так же буду очень признательна,если подскажите как их отсортировать по признаку столбца(первый столбец буква I или O) и подсчитать...
C++ Работа с файлами
Задание: Скопировать содержимое текстового файла, удалив в каждой строке самое длинное слово. (Обработку символьной строки оформить в виде функции. Сканирование строки и доступ к её элементам...
C++ Дан символьный файл f. Группы символов, разделенных пробелами и не содержащих пробелов внутри себя, называют словами. Удалить из файла все однобуквенн http://www.cyberforum.ru/cpp-beginners/thread116327.html
Дан символьный файл f. Группы символов, разделенных пробелами и не содержащих пробелов внутри себя, называют словами. Удалить из файла все однобуквенные слова и лишние пробелы. Результат записать в...
C++ Массивы структур Делаю программу,всё вроде бы нормально...Добавляю один раз данные,всё хорошо.Второй раз ввожу имя фильма-выдаёт ошибку и выкидывает из компилятора. Помогите,пожалуйста... Добавлено через 50... подробнее

Показать сообщение отдельно
Quadro9
32 / 32 / 1
Регистрация: 23.07.2009
Сообщений: 170
13.04.2010, 23:32  [ТС]
Вобщем как я это понял..
таблицы имеет каждый класс и базовый и его предки, каждый свою..
и в моем примере функция func вызывает нужную функцию класса основываясь на индексе!!
тоесть в теле функции я вызываю а.f(), и функция понимает что когда я вызову ее с реальным класом надо посмотреть таблицу этого реального класа и вызвать функцию с индексом [0] !

как то так
с кодом и скриншотом понятнее может будет..

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
#include <iostream>
 
class A {
public:
    virtual void f() = 0;
    virtual void g() = 0;
};
 
class B: public A {
public:
    void f() {std::cout << "Bf\n";}
    void g() {std::cout << "Bg\n";}
};
 
class C: public A {
public:
    void f() {std::cout << "Cf\n";}
    void g() {std::cout << "Cg\n";}
};
 
void func(A& a) {
    a.f();
    a.g();
}
 
int main() {
    B b;
    C c;
    func(b);
}
0
Миниатюры
Таблица виртуальных функций  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.