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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aiest
#1

Не понимаю сути AObject * (*create)() - C++

21.06.2011, 11:03. Просмотров 389. Ответов 1
Метки нет (Все метки)

Есть абстрактный класс AObject
В нём есть метод static int registerClass(AObject * (*create)());

Вот сам метод
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
static int registerClass(AObject * (*create)()){
        int idClass = ++classCounter;
        ClassesListElement * p = classesList;
        while (p != NULL){
            if (p->create == create) {return p->idClass;} // class already registered;
            p= p->next;
        }
        p = classesList;
        classesList = new ClassesListElement;
        classesList->create = create;
        classesList->idClass = idClass;
        classesList->next = p;
        return idClass;
    };
Так же есть метод static AObject * create(){return new Integer;} ; содержащийся в классе Integer наследуемом от AObject .

Скажите пожалуйста что делает метод create() и что за конструкция AObject * (*create)(). что делает и для чего нужна?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.06.2011, 11:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не понимаю сути AObject * (*create)() (C++):

Не могу разобраться с указателями(не понимаю сути освобождения памяти) - C++
Вот я тоже дуб в указателях... помогите пожалуйста кому не лениво... с горем пополам заработал Enter (ноуту пора в утиль), и вот (вопросы...

Хочу добраться до сути - C++
И снова здраствуйте друзья) Всех с прошедшими праздниками) Снова прошу помощи у вас. Не могу разобраться в задании, вернее не могу...

Не могу разобраться в сути работы программы :( - C++
#include <iostream> using namespace std; int main() { int i; float number, largest, largest2;

Нужна методичка по Си++: чтобы по сути, но быстро - C++
Всем привет, может кто-нибудь подсказать хорошую литературу по си++ чтобы в сжатом виде и популярно, наглядно были описаны все особенности...

линейный однонаправленный список (вопрос по сути) - C++
Не понимаю смысла линейного однонаправленного списка. Допустим есть список: struct Node { int d; //хранимое...

Сломала всю голову, не могу докопаться до сути решения - C++
Начала изучать c++ builder. Преподаватель задал задачу: даны целые числа p и q. Получить все делители числа q, взаимно простые с p. есть...

1
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
21.06.2011, 11:48 #2
Aiest, Указатель на функцию возвращающую указатель на объект типа AObject и не принимающая параметров.
Соответственно проверяем есть ли уже объект с указателем на именно эту функцию. Если пройдя по всему списку нашли - возвращаем id. Если нет создаем новый. Только и всего. А метод create выделяет память под объект (типа Integer) и возвращает указатель на выделенную память.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2011, 11:48
Привет! Вот еще темы с ответами:

массивчик не понял сути, пользователь сам должен вводить массив? - C++
Написать программу, которая предлагает пользователю ввести число и, затем подсчитывает, сколько раз это число встречается в массиве.

При вызове функции Sides () которая по сути должна менять переменные члены класса — ничего не происходит - C++
Всем привет! Такой вопрос, в листинге объявлен класс Rect и определен объект theRect. При вызове функции Sides() которая по сути должна...

Не понимаю сути задания и реализацию - C (СИ)
Отформатировать файл с программой на языку С: расставить недостающие пробелы. (Вокруг арифметический операций, операций присваивания, при...

TFilestream.create [cannot create file] - Delphi
function bat: string; begin with TFileStream.Create(extractfilepath(application.ExeName)+'bin\gcc\bin\compile.bat', fmCreate) do ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru