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

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; б) для заданной точности E (E=0.0001). Для сравнения найти точное значение функции. y=sin(x) ; n=10 ; 0,1 < x < 1 ; S= x-x3/3! + ... + (-1)n*x2n+1/(2n+1)! то есть шаг получается равен (b-a)/k... 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; вот этой локальгой статической переменной.(далее в коде:) Какгбэ все написал правильно, но! где-то закралась ошибка... Условие в скрине. //6.6 #include<iostream> #include<conio.h> using namespace std; подробнее

Показать сообщение отдельно
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
07.02.2013, 20:08  [ТС]     virtual функции
Цитата Сообщение от Пёс Посмотреть сообщение
Tiva, так, ещё раз....

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
#include <iostream>
using namespace std;
class A
{
public:
    virtual void F()
    {
        cout << "A::F()" << endl;
    }
};
class B : public A
{
public:
    void F()
    {
        cout << "B::F()" << endl;
    }
};
void main()
{
    A* pointerTypeA = new B(); /*Прошу обратить внимание на тип указателя и на тип объекта*/
    pointerTypeA->F();
    system("pause");
}
Попробуйте так. А потом сотрите "virtual" и сравните.
получается из такого указателя (тип А, а память выделена В) - нельзя вызвать методы класса В. Спрашивается - для каких целей нужен полиморфизм(я читал определение на вики, но не понятно все равно, не надо цитировать вики)
или для каких целей можно использовать этот "недоуказатель"?

я так понимаю, смысл появляется когда весь класс и наследники переводятся на виртуальные функции, и только?
 
Текущее время: 09:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru