Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
29 / 6 / 2
Регистрация: 05.10.2012
Сообщений: 117

Разобрать блок приведенного кода

24.08.2014, 13:30. Показов 745. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть код:
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
Game::Game()
: mWindow(sf::VideoMode(640, 480), "SFML Application", sf::Style::Close)
, mTexture()
, mPlayer()
, mFont()
, mStatisticsText()
, mStatisticsUpdateTime()
, mStatisticsNumFrames(0)
, mIsMovingUp(false)
, mIsMovingDown(false)
, mIsMovingRight(false)
, mIsMovingLeft(false)
{
    if (!mTexture.loadFromFile("Media/Textures/Eagle.png"))
    {
        // Handle loading error
    }
 
    mPlayer.setTexture(mTexture);
    mPlayer.setPosition(100.f, 100.f);
    
    mFont.loadFromFile("Media/Sansation.ttf");
    mStatisticsText.setFont(mFont);
    mStatisticsText.setPosition(5.f, 5.f);
    mStatisticsText.setCharacterSize(10);
}
Подскажите, что значит этот кусок:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
Game::Game()
: mWindow(sf::VideoMode(640, 480), "SFML Application", sf::Style::Close)
, mTexture()
, mPlayer()
, mFont()
, mStatisticsText()
, mStatisticsUpdateTime()
, mStatisticsNumFrames(0)
, mIsMovingUp(false)
, mIsMovingDown(false)
, mIsMovingRight(false)
, mIsMovingLeft(false)
{
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.08.2014, 13:30
Ответы с готовыми решениями:

Разобрать работу приведенного кода
помогите написать что делают строки в программе #include <iostream> #include <string> #include <cmath> using namespace...

Разобрать логику работы приведенного кода
Здравствуйте, уважаемые! #include <iostream> using namespace std; long brackets_balance (char * str) { long count; for...

Написать алгоритм приведенного кода
Может ли кто-нибудь помочь мне с алгоритмом этого кода?, пожалуйста. #include <iostream> using namespace std; int main() ...

6
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.08.2014, 13:32
Member initializer list
0
0 / 0 / 0
Регистрация: 24.08.2014
Сообщений: 14
24.08.2014, 13:40
обычная инициализация атрибутов класса до тела конструктора
например:
C++
1
2
3
4
5
6
7
8
9
10
 
class main{
int atr1;
int atr2;
public:
main(int input);
}
main::main(int input):atr1(input),atr2(0)
{
}
здесь в конструкторе atr1 принимает значение input, a atr2 - 0
0
29 / 6 / 2
Регистрация: 05.10.2012
Сообщений: 117
24.08.2014, 13:44  [ТС]
А какой в этом смысл? Почему бы не занести в тело конструктора?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.08.2014, 13:49
Цитата Сообщение от Aspirin Посмотреть сообщение
А какой в этом смысл? Почему бы не занести в тело конструктора?
Инициализация != присваивание.
Во втором случае сначала вызвается конструктор по умолчанию, затем оператор присваиавния.
+ Константам ничего нельзя присвоить - допустима только инициализация.
1
29 / 6 / 2
Регистрация: 05.10.2012
Сообщений: 117
24.08.2014, 14:17  [ТС]
Вроде понял. Тогда ещё вопрос, в моем примере есть mPlayer(), т.е. вызов конструктора, а разве он не создается когда мы объявляем его в описании класса?
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
24.08.2014, 14:23
Aspirin, создался бы. Скорее всего, явно прописано для единообразия.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.08.2014, 14:23
Помогаю со студенческими работами здесь

For each с массивом символов - выяснить причину неработоспособности приведенного кода
Компилятор ругается на примерно такой код: void foo(char cArray) { for each (char c in cArray) {...} }

Организация файлового ввода-вывода матрицы на основе приведенного кода
Помогите, пожалуйста, организовать файловый ввод-вывод матрицы на основе этого кода. Матрица должна считываться из фаила txt, выводиться на...

Что будет выведено на экран в результате выполнения приведенного фрагмента кода?
Что будет выведено на экран в результате выполнения приведенного фрагмента кода? int n = 1; while (n<=10) { if...

Первые шаги по базовому курсу Шилдта - ошибка синтаксиса приведенного кода
Здравствуйте! Изучаю С++ с нуля по учебнику Базовый курс С++ Шилдт. Каждую программу из примеров компилирую на Visual Studio 2013, до сих...

Разобрать строку кода
Часть программы, если что // Game engine struct Piece { struct { unsigned short s; } shape; int x : 8, y : 8, color :...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru