Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Sinkha
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
Завершенные тесты: 1
1

Нюансы синтаксиса: классы, список инициализации (неясная строка из учебника Стивена Праты)

19.01.2016, 21:21. Просмотров 280. Ответов 2
Метки нет (Все метки)

Вот сам класс
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
#ifndef TABTENN0_H_
#define TABTENN0_H_
 
#include <string>
using std :: string;
 
class TableTennisPlayer{
 
private:
 
    string firstname;
 
    string lastname;
 
    bool hasTable;
 
public:
 
    TableTennisPlayer(const string &fn = "none", const string &ln = "none", bool ht = false);
 
    void Name() const;
 
    bool HasTable() const {return hasTable; };
 
    void ResetTable(bool v) {hasTable = v;};
 
};
 
#endif // TABTENN0_H_
Тут прототипы его методы.
C++
1
2
3
4
5
6
7
8
9
10
#include "tabtenn0.h"
#include <iostream>
 
TableTennisPlayer :: TableTennisPlayer (const string &fn, const string &ln, bool ht) : firstname(fn), lastname(ln), hasTable(ht) {}
 
void TableTennisPlayer :: Name() const{
 
std :: cout << lastname << ", " << firstname;
 
}
Мне не ясен синтаксис вот этого момента
TableTennisPlayer :: TableTennisPlayer (const string &fn, const string &ln, bool ht) : firstname(fn), lastname(ln), hasTable(ht) {}
объясните почему нельзя использовать так скажем стандартный конструктор. И что это за синтаксис такой, буду очень благодарен вам
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2016, 21:21
Ответы с готовыми решениями:

читаю главу 10 книги стивена праты - "объекты и классы". автор во всех примерах поступает следуйщим образм: объявляет класс в одном фаиле...
...а реализует функции в другом - в том котором создаёт и ползуется объектом. у меня вопросс: а не...

Неожиданный консольный вывод (упражнения 3 к главе 6 книги Стивена Праты)
:-| Вообщем имеется код (решение 3 упражнения к главе 6 книги Прата): #include &lt;iostream&gt;...

Найти причины и способы исправления ошибок в коде (упражнения по книге Стивена Праты)
В общем так . Пробую учить плюсы по книжке Прата . Пробую недавно , и потому полный нуб. От того и...

Решение всех задач из учебника Стивена Прата
Здравствуйте!Решил выложить свои решения задач книги С. Прата. Код ни в коем случае не претендует...

2
nord_v
330 / 178 / 80
Регистрация: 22.08.2013
Сообщений: 724
20.01.2016, 00:21 2
Цитата Сообщение от Sinkha Посмотреть сообщение
И что это за синтаксис такой
Список инициализации конструктора.
Цитата Сообщение от Sinkha Посмотреть сообщение
объясните почему нельзя использовать так скажем стандартный конструктор.
В данном случае можно задать значения и в теле конструктора, через присваивание, но это возможно не всегда. Например, при инициализации константных или ссылочных полей класса, им значения можно задать только через инициализацию (до входа в тело конструктора). Так же, в списке инициализации конструктора производного класса, явно или неявно вызываются конструкторы для базового класса.
0
Sinkha
3 / 3 / 2
Регистрация: 04.07.2015
Сообщений: 187
Завершенные тесты: 1
20.01.2016, 11:39  [ТС] 3
То есть тут происходит некая экономия времени.
0
20.01.2016, 11:39
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.01.2016, 11:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Нюансы синтаксиса
Откуда взялась функция nextOdd()? package main import &quot;fmt&quot; func makeOddGenerator() func()...

Нюансы синтаксиса: использование using
Всем доброе утро, вообщем хотел спросить давно уже, а что делает using, помимо вот такого его...

Нюансы синтаксиса: использование typedef
typedef int(*compare_func)(void* left, void* right); В первых круглых скобках - &quot;*compare_func&quot;...


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

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

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