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

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

Войти
Регистрация
Восстановить пароль
 
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
#1

Как называется эта штука? - C++

31.10.2011, 21:04. Просмотров 890. Ответов 12
Метки нет (Все метки)

Есть кусок кода. Как это называется? И что это?
C++
1
2
3
4
5
6
7
8
9
10
11
12
MediaBuffer::MediaBuffer(void *data, size_t size)
    : mObserver(NULL),
      mNextBuffer(NULL),
      mRefCount(0),
      mData(data),
      mSize(size),
      mRangeOffset(0),
      mRangeLength(size),
      mOwnsData(false),
      mMetaData(new MetaData),
      mOriginal(NULL) {
}
Спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 21:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как называется эта штука? (C++):

Как работает эта штука, и как сделать нечто подобное ? - C++
Я хочу сделать такие же блоки с линиями Какой алгоритм тут используется чтобы в правильном порядке их обходить ? Добавлено через...

Подскажите плжалуйста как называется эта програма ??? - C++
#include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include <locale.h> #include <string.h> #include <conio.h> #include...

Как это называется? - C++
С. Прата, листинг 8.1 // использование встроенной функции #include <iostream> inline double square(double x) { return x*x; } //...

Как называется функция - C++
В общем, решил написать змейку. Всё хорошо,вот только проблемка. Чтобы управлять змейкой,нужно вводить значения с клавиатуры, но когда...

Как называется принцип? - C++
Что это за принцип шифрования, может кто рассказать? while ( *s != '\0') // до тех пор пока не встретим завершающий ...

Как называется условие if (!x) {} и как оно работает? - C++
Добрый день, как называется условие if (!x) {} и как работает? Если x вернет true, то x "выполнится" иначе сработает условие в скобках? ...

12
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.10.2011, 21:13 #2
Конструктор класса MediaBuffer. Вызывается непосредственно при создании объекта MediaBuffer. Подробнее можете прочитать в любой книге по ООП в С++
1
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
31.10.2011, 21:14  [ТС] #3
Спасибо!
0
BRcr
4009 / 2298 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
31.10.2011, 21:18 #4
также можно заключить, что класс MediaBuffer наследует от 10 других классов, конструкторы которых вызывает данный конструктор...
1
amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
31.10.2011, 21:25  [ТС] #5
И еще один вопрос! Вот такая функция, куда она возвращает mData?
C++
1
2
3
4
void *MediaBuffer::data() const {
    CHECK(mGraphicBuffer == NULL);
    return mData;
}
0
BRcr
4009 / 2298 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
31.10.2011, 21:31 #6
указатель mData возвращается в место вызова функции data()...
можно предположить, что функция CHECK(bool ) как-то модифицирует объект mData, иначе код бессмысленный какой-то, да и в этом случае рациональным его не назвать...
1
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.10.2011, 21:35 #7
Гляньте тут касательно void*.
BRcr, а где вы увидели 10 классов?
0
Dekio
Фрилансер
Эксперт С++
5837 / 1218 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
31.10.2011, 21:37 #8
BRcr, тут нет 10 классов, просто конструктор передает значения переменным.
0
BRcr
4009 / 2298 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
31.10.2011, 21:55 #9
не спорю, может быть! но могли бы быть и классы
0
soon
2542 / 1307 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
31.10.2011, 21:58 #10
Цитата Сообщение от BRcr Посмотреть сообщение
также можно заключить, что класс MediaBuffer наследует от 10 других классов, конструкторы которых вызывает данный конструктор...
Цитата Сообщение от BRcr Посмотреть сообщение
не спорю, может быть! но могли бы быть и классы
Сами себе противоречите. В первом посте вы утверждали, во втором пытаетесь убедить, что имели в виду некую вероятность существования 10 классов.
Кстати, благодаря чему вы пришли к заключению, что 10 конструкторов других классов вызывают данный конструктор?
0
BRcr
4009 / 2298 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
31.10.2011, 22:11 #11
Цитата Сообщение от soon Посмотреть сообщение
благодаря чему вы пришли к заключению, что 10 конструкторов других классов вызывают данный конструктор?
Вообще-то, к заключению, что один конструктор(конструктор класса MediaBuffer) вызывает десяток родительских конструкторов. К данному заключению меня подтолкнуло нечто, весьма похожее на операцию вызова родительского конструктора:
C++
1
2
MediaBuffer::MediaBuffer(void *data, size_t size)
    : mObserver(NULL)
Далее идет перечисление через запятую... тут, вероятно, моя ошибка, ведь конструкторы должны вызываться все через ту же операцию вызова ":"...
Признаю, неправ
0
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
31.10.2011, 22:25 #12
Цитата Сообщение от amatorIP Посмотреть сообщение
Есть кусок кода. Как это называется?
Это называется "конструктор" + "списк инициализации".
Цитата Сообщение от BRcr Посмотреть сообщение
также можно заключить, что класс MediaBuffer наследует от 10 других классов, конструкторы которых вызывает данный конструктор...
Обычно приставкой m(member) выделяют поля класса.
Цитата Сообщение от BRcr Посмотреть сообщение
можно предположить, что функция CHECK(bool ) как-то модифицирует объект mData, иначе код бессмысленный какой-то, да и в этом случае рациональным его не назвать...
Можно предположить, что это макрос, который выполняет ту же роль, что и assert...
0
Bers
Заблокирован
31.10.2011, 23:05 #13
Цитата Сообщение от BRcr Посмотреть сообщение
Далее идет перечисление через запятую... тут, вероятно, моя ошибка, ведь конструкторы должны вызываться все через ту же операцию вызова ":"...

C++
1
2
3
4
5
6
7
8
9
10
11
class CTest: public CTest1, public CTest2
{
     void* mData;
     //и ещё много всякой гадости
}
 
CTest::CTest():
       CTest1(), 
       CTest2(x,y),
       mData(NULL)
                  {   ...    }
Конструкторы в списках инициализации перечисляются через запятую так же, как и данные члены.

А префиксом m в начале переменной традиционно награждают данные-члены, что бы сразу отличить их по имени от всех прочих.
1
31.10.2011, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2011, 23:05
Привет! Вот еще темы с ответами:

Как называется такой объект? - C++
#include<iostream> using namespace std; class geometry { public: static double area(double h, double w) ...

Как называется компонентная функция? - C++
Ребят,помогите пожалуйста напишите как вызывается компонентная функция?буду благодарен

Семантический вопрос... как называется язык-то? - C++
По моему правильно и разумно оформлять большие куски кода в классы в стиле с++, всё заинкапсулировать, следить за наследованием... Но...

«Структура в структуре» - как правильно называется? - C++
Как инициализируется и для чего может быть использована?


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

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

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