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

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

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

Что значит "class PairDouble"? - C++

27.01.2014, 07:38. Просмотров 348. Ответов 10
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
class PairDouble
{
public:
    PairDouble(double x1, double y1) : x(x1), y(y1) { }
    void ShowQ();
private:
    double x, y;
};
Здравствуйте, не могли бы подсказать что значит вот эта строка в коде "PairDouble(double x1, double y1) : x(x1), y(y1) { }", а конкретно вместо вызова базового конструктора вот эта непонятная запись "x(x1), y(y1) { }".
Спасибо.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 07:38     Что значит "class PairDouble"?
Посмотрите здесь:

Что значит "Косвенная адресация к элементам массива" - C++
Всем доброго времени суток!!! Кто может подсказать, что значит "Косвенная адресация" к элементам массива. *(B + i) = 0; Это то?...

Что значит "в поле шириной 10 символов"? - C++
Объясните пожалуйста, что значит в поле с шириной в 10 символов? И почему у меня показывает число с 3 знаками после запятой? Полностью...

Что значит ":" и как оно работает - C++
Здравствуйте, в данном коде имеется Unit(): health(10) { } и вопрос в том , а что же делает ":" и как им пользоваться. Исользовал раньше...

Что значит? ostream_iterator<int>(cout, " "); - C++
Что значит? ostream_iterator&lt;int&gt;(cout, &quot; &quot;));

Что значит ошибка "exponent has no digits"? - C++
Что значит ошибка exponent has no digits?

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

Что значит ":" после параметров функции - C++
CSimpleString::CSimpleString(const char* p) : len(0), buff(nullptr) Что значит len(0), buff(nullptr) и как это называется ?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
27.01.2014, 07:55     Что значит "class PairDouble"? #2
Конструктор со списком инициализации. Инициализирует поля класса x и y значениями x1 и y1 соответственно.
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
27.01.2014, 08:20     Что значит "class PairDouble"? #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Stason676, когда доберетесь до наследования, увидите как такая же конструкция будет использоваться для вызова конструктора базового класса, если придется передавать параметры.
И еще, если в вашем примере поля x,y будут константами, то другого способа их проинициализировать нет. Т.е. нельзя в теле конструктора написать: x = x1;
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
27.01.2014, 09:05     Что значит "class PairDouble"? #4
Кстати я такую конструкцию видел и пытался написать,но компилятор её не принимал,поэтому пишу всё в фигурных скобках.
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
27.01.2014, 09:07     Что значит "class PairDouble"? #5
Игорюня, если есть вопрос, задавайте с примером кода. А так - ну не получилось, криво записали. Можем дружно посочувствовать.
Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
27.01.2014, 09:10     Что значит "class PairDouble"? #6
Цитата Сообщение от 0x10 Посмотреть сообщение
Игорюня, если есть вопрос, задавайте с примером кода. А так - ну не получилось, криво записали. Можем дружно посочувствовать.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
class random
{
public:
    void Set(int b):a(b){}
 
private:
    int a
 
};
 
 
 
int main()
{   
    random object;
    object.Set(10);
    system("pause");
 
}
Компилятору не нравится void Set(int b):a(b){}
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 1
27.01.2014, 09:11     Что значит "class PairDouble"? #7
Цитата Сообщение от Игорюня Посмотреть сообщение
void Set(int b):a(b){}
это не конструктор
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
27.01.2014, 09:11     Что значит "class PairDouble"? #8
Игорюня, синтаксис списка инициализации существует для конструктора. А тут обычный метод.
Stason676
Заблокирован
27.01.2014, 14:01  [ТС]     Что значит "class PairDouble"? #9
Цитата Сообщение от 0x10 Посмотреть сообщение
Конструктор со списком инициализации. Инициализирует поля класса x и y значениями x1 и y1 соответственно.
А для чего это нужно? В теле конструктора нельзя это сделать?
0x10
2459 / 1631 / 238
Регистрация: 24.11.2012
Сообщений: 4,011
27.01.2014, 14:04     Что значит "class PairDouble"? #10
Stason676, в 3 посте уже было сказано про константные поля.
Плюс, если вы присваиваете значения в теле конструктора, то по факту выполняется два действия: сначала инициализация, а потом присваивание.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 14:17     Что значит "class PairDouble"?
Еще ссылки по теме:

Что значит запись "if (b & 1)" - C++
что значит if (b &amp; 1) почему когда b = 6 не проходит? т.к. четная?

Что значит "Четные номера" - C++
Объясните пожалуйста, что значит четные номера (не значения элементов) двумерного массива (т.е. матрицы). Полагаю это те которые...

Что значит "возвращает" значение - C++
Что значит &quot;возвращает значение&quot;? Вот есть function() { int variable = 5; ...//преобразования переменной variable ...

Что значит оператор "+="? - C++
Вот :(

Что значит setlocale(0,""); - C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(0,&quot;&quot;); int ** A, n; cout &lt;&lt;...


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

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4393 / 3236 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
27.01.2014, 14:17     Что значит "class PairDouble"? #11
Цитата Сообщение от 0x10 Посмотреть сообщение
сначала инициализация, а потом присваивание.
инициализации может и не быть, если имеем дело с примитивными типами.
Yandex
Объявления
27.01.2014, 14:17     Что значит "class PairDouble"?
Ответ Создать тему
Опции темы

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