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

virtual функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Взаимно пересекающиеся хидеры у двух файлов http://www.cyberforum.ru/cpp-beginners/thread781407.html
MyLib.h: #include "..\MyLib\MyLib_dev_h.h" namespace MyLib { class Lib1 { public: int A;
C++ функция с разложением в степенной ряд помогите найти пожалуйста ошибку Для х изменяющегося от a до b с шагом (b-a)/k, где (k=10), вычислить функцию f(x), используя ее разложение в степенной ряд в двух случаях: а) для заданного n; ... http://www.cyberforum.ru/cpp-beginners/thread781394.html
Создать файл в C++ C++
Нужно создать текстовый файл и в нем будет 100 записей структуры clientData struct clientData { int acctNum; char lastName; char firstName; float balance; };
типы переменных C++
Здравствуйте! #include <iostream> #include <cmath> using namespace std; int main() { double x_1=435.5; double x_2; int swap=x_1;
C++ Объясните 2 и 3 цикл.Пожалуйста http://www.cyberforum.ru/cpp-beginners/thread781336.html
#include "stdafx.h" #include <iostream> using namespace std; int main() { const int M=20; int mas={5,8,9,6,3,2,4,5,7,2,9,6,5,84,15,45,17,22,2,20}; int summa=0, i, min; int k=0; min=mas;
C++ Решение задачи Р.Лафоре, объекты и классы Замахался уже... Выдает ошибку проблема с static int count; вот этой локальгой статической переменной.(далее в коде:) Какгбэ все написал правильно, но! где-то закралась ошибка... Условие в... подробнее

Показать сообщение отдельно
Croessmah
Ушел
Эксперт CЭксперт С++
13553 / 7704 / 872
Регистрация: 27.09.2012
Сообщений: 19,006
Записей в блоге: 3
Завершенные тесты: 1
07.02.2013, 20:32
Возможно, из этого примера Вам станет понятно как происходит вызов виртуальных функций(примерно):
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
#include <iostream>
 
class A{
protected:
    void (A::*virptr)();
    void foo(){
        std::cout<<"class A"<<std::endl;
    }
public:
    A(){
        this->virptr=&A::foo;
    }
    void virfunc(){
        (this->*virptr)();
    }
    int x;
};
 
class B:public A{
    void foo(){
        std::cout<<"class B"<<std::endl;
    }
public:
    B(){
        this->virptr=(void (A::*)())&B::foo;
    }
};
 
int main(){
    A * a=new A;
    A * b= new B;
    a->virfunc();
    b->virfunc();
}
Здесь кривая, но "ручная" виртуальная функция )))
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru