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

Виртуальная функция не хочет перекрываться - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Алгоритм сортировки http://www.cyberforum.ru/cpp-beginners/thread848840.html
Дан одномерный масив. мне в нем нужно отсортировать по возростанию только те числа масива которые простые, а остальные оставить на той же позиции как и были. вот так я смотрю простое число или...
C++ Класс домов и класс улиц для учета поступлений квартплаты. Массив Задание: вырезано Файл StdAfx.h #pragma once #include "targetver.h" #include <stdio.h> http://www.cyberforum.ru/cpp-beginners/thread848828.html
Решение головоломок C++
Скажи пожалуйста, как должна работать программа, решающая головомку: составить, например, функцию проверки окончания и прогонять все варианты или не знаю, пробывать составить какое-то дерево ходов...
Изменение цвета текста C++
Привет всем. Можно ли в консоле менять цвет ЧАСТИ текста? тоесть выделить одно слово другим цветом например Просто system(color ** ) изменяет всё целиком. В нэте не нашёл нормального ответа на мой...
C++ Операции над натуральными числами http://www.cyberforum.ru/cpp-beginners/thread848818.html
Привет всем, я новенький как на форуме так и на в программировании. Начал изучать с++ 2 недели назад,самоучка, так что сильно не кричите)) Задача : Даны три натуральных числа K,L,M (K>=L>=M)....
C++ Класс, динамический массив строк Здравствуй, пользователь. Сегодня, наконец выбравшись из рид онли и пройдя процесс регистрация, я спешу попросить тебя о помощи. Что я имею? Задание: Создать класс, включающий в себя динамический... подробнее

Показать сообщение отдельно
BumerangSP
4286 / 1408 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
26.04.2013, 00:23
Nixy, сути вроде не меняет:
C++
1
2
3
4
5
    a *obj;
    obj = new b();
    obj->f();
    obj = new c();
    obj->f();
Цитата Сообщение от Nixy Посмотреть сообщение
// другой заголовочный фаил
у Вас класса хранятся в разных хедерах?
Т.е. реализация отдельно..

Добавлено через 24 минуты
Кликните здесь для просмотра всего текста
файл 1h.h:
C++
1
2
3
4
5
6
7
8
9
10
11
class AbstractModel {
    
    public:     
        virtual bool isEnough(double e);
        
};
class StringPendulumModel : public AbstractModel {
 
    public: 
        bool isEnough(double e);
};
файл 2h.h:
C++
1
2
3
4
5
class GuidedWeaponModel : public AbstractModel{
 
    public: 
        bool isEnough(double e);
};
файл 1.cpp (с реализацией):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "1h.h"
#include "2h.h"
 
 
bool AbstractModel::isEnough(double e)
{
    return false;
}
 
bool StringPendulumModel::isEnough(double e)
{
    return true;
}
 
bool GuidedWeaponModel::isEnough(double e)
{
    return true;
}
файл main (для вызова):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include "1h.h"
#include "2h.h"
#include <iostream>
 
int main()
{
    AbstractModel* model = new StringPendulumModel();
    std::cout << std::boolalpha << model->isEnough(0) <<'\n';
    model = new GuidedWeaponModel();
    std::cout << std::boolalpha << model->isEnough(0) <<'\n';
    system("pause");
    return 0;
}
Вывод:
Код
true
true
Как видно из примера, в обоих случаях вызываются методы производных классов.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru