Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> имена параметров совпадают с членами... в конструкторе 
V
    Опции темы
chaos
Дата 21.7.2010, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



Доброго времени суток!
не могу найти в стандарте и у страуструпа следующий момент
Код

class SomeClass
{
public:
    SomeClass(string text, int number)
        : text(text)
        , number(number)
    { }

private:
    string text;
    int number;
}


на сколько данный код правильный?


в этом случае все понятно:
Код

class SomeClass
{
public:
    SomeClass(string text, int number)
    {
        this->text = text;
        this->number = number;
    }

private:
    string text;
    int number;
}


ткните кто-нить плиз в документацию smile

ЗЫ сорри за такую тему
ЗЫЫ использовать префикс m_ и тп не предлагать
PM WWW   Вверх
azesmcar
Дата 21.7.2010, 16:07 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



12.6.2 Initializing bases and members
Цитата

Names in a mem-initializer-id are looked up in the scope of the constructor’s class and, if not found in that
scope, are looked up in the scope containing the constructor’s definition. [Note: if the constructor’s class
contains a member with the same name as a direct or virtual base class of the class, a mem-initializer-id
naming the member or base class and composed of a single identifier refers to the class member.
...
Names in the expression-list of a mem-initializer are evaluated in the scope of the constructor for which the
mem-initializer is specified. [Example:
Код

class X {
   int a;
   int b;
   int i;
   int j;
public:
   const int& r;
   X(int i): r(a), b(i), i(i), j(this->i) {}
};

initializes X::r to refer to X::a, initializes X::b with the value of the constructor parameter i, initializes
X::i with the value of the constructor parameter i, and initializes X::j with the value of X::i; this
takes place each time an object of class X is created. ]

PM   Вверх
chaos
Дата 21.7.2010, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: 6
Всего: 44



azesmcar, сенкс
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0866 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.