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

Указатель на функцию - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подскажите пожалуйста, как правильно освободить память http://www.cyberforum.ru/cpp-beginners/thread152636.html
Всем ку! Подскажите пожалуйста, как правильно удалить(освободить память) массива array2D. Array1D<Elem>* array2D = static_cast<Array1D<Elem>*> operator new(sizeof(Array1D<Elem>)* first);...
C++ Где найти afxwin.h? Просто нашел два места с изучением MFC с C++, но оба случая просят afxwin.h, такого добра почему-то в VC++2010 нету, может он как-то по другому сейчас называется? http://www.cyberforum.ru/cpp-beginners/thread152618.html
Русские шрифты в консоли - продолжение C++
Всем привет. Я вижу(и прочитал) прилепленную тему на верху, но ответа на свой ньюанс не нашел. Есть такая программа, написанная на Visual Studio 2010 c++ #include "stdafx.h" #include <iostream>...
C++ Координаты в C++
В Pascal есть модуль Graph с помощью которого всё что мне нужно можно легко сделать. А именно заставить двигаться что-нибудь по какой-нибудь траектории. А в c++ чем можно воспользоваться? Мне нужно...
C++ Работа с массивом char http://www.cyberforum.ru/cpp-beginners/thread152584.html
Добрый день. Объясните, если не сложно, на пальцах в чем ошибка? char*my1={"first my1","second my1"}; my1='E'; Синтаксически все корректно.
C++ Написание звукового движка Товарищи, приветствую. Сабж. Очень серьёзное дело, требующее не менее серьёзного подхода. С чего начать? Куда копать? В чём отличия интерфейсов DirectSound, waveIn/waveOut и прочих возможных? В... подробнее

Показать сообщение отдельно
Хохол
Эксперт С++
475 / 443 / 13
Регистрация: 20.11.2009
Сообщений: 1,292
09.07.2010, 16:00
Цитата Сообщение от ai.xss.ru Посмотреть сообщение
Есть функция оптимизации, определенная в первом классе, а есть куча целевых функций, определенных в других классах, унаследованных от первого.
ИМХО сама постановка задачи какая-то странная и противоречащая ООП. Зачем целевые функции находятся в потомках? В чем логика?
Может тут полиморфизм больше подойдет?
Другое дело конечно, если задача - изучить указатели на функции.

Добавлено через 1 минуту
Можно сделать первый класс абстракным, описать в нем функцию оптимизации, объявить в нем же чисто виртуальную целевую функцию, и реализовывать ее в потомках.

Добавлено через 20 минут
Оно, нэ?
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
35
36
37
38
39
#include <iostream>
#include <conio.h>
 
using namespace std;
 
class BaseClass
{
    virtual void targetFunction() = 0;
public:
    void optimizationFunction()
    {
        targetFunction();
    }
};
 
class SonClass1 : public BaseClass
{
    void targetFunction()
    {
        cout << "SonClass1::targetFunction" << endl;
    }
};
 
class SonClass2 : public BaseClass
{
    void targetFunction()
    {
        cout << "SonClass2::targetFunction" << endl;
    }
};
 
int main()
{
    SonClass1 a;
    SonClass2 b;
    a.optimizationFunction();
    b.optimizationFunction();
    getch();
}
И не нужны никакие указатели.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru