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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Инициализация, типовая ошибка  
:(
    Опции темы
sergioK1
Дата 3.6.2011, 10:53 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

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



Код

 class  A{
  
public A():a(1), b(2), c(a+b){
    printf("a=%d, b=%d c=%d ", a,b,c); // кто не любит С можно cout 
}
 ~A(){
  // чистим если нужно 
}

private:
    int a;
    int b;
    int c ;
}

  int main (){
     A a;  
}



    а теперь "случайно " меняем описание порядок описания переменных в классе , 
    
Код

   private:
    int c ;
    int b;
    int a ;


    результат не такой как ожидалось,  (рекомедую проверить самим ) т,к, переменные инициализируються по порядку ,
    
    компилятор выдает warning, что лишний раз подтверждает старую истину - " варниг - потенциальный баг "


Это сообщение отредактировал(а) sergioK1 - 3.6.2011, 10:54
PM MAIL   Вверх
Alca
Дата 3.6.2011, 11:00 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 2
Всего: 50



Цитата

  а теперь "случайно " меняем описание порядок описания переменных в классе 

в каком порядке описаны - в таком и инициализируются

Добавлено через 50 секунд
Цитата

Код

public A():a(1), b(2), c(a+b){
    printf("a=%d, b=%d c=%d ", a,b,c); // кто не любит С можно cout 
}


Так лучше не делать (c(a+b))


--------------------
PM WWW ICQ Skype Jabber   Вверх
boostcoder
Дата 3.6.2011, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

Репутация: 20
Всего: 110



типа сей факт должен кого-то удивить?
смысл темы в чем?
PM WWW   Вверх
sergioK1
Дата 3.6.2011, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 417
Регистрация: 30.1.2011

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



Цитата(boostcoder @ 3.6.2011,  10:05)
смысл темы в чем?

уменьшить количество "дурацких" багов, тебе ж их ловить потом  smile 

зачем вообще тема С++  для начинающих ?





 
PM MAIL   Вверх
boostcoder
Дата 3.6.2011, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


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

Репутация: 20
Всего: 110



Вы не задумывались о том, чтоб почитать книжецу, хоть какую маломальскую?
уверяю Вас, пользы будет больше, чем от флуда на форуме smile 

Это сообщение отредактировал(а) boostcoder - 3.6.2011, 11:36
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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