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

Конструктор - C++

Восстановить пароль Регистрация
 
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
24.10.2012, 00:01     Конструктор #1
Почему переменные не инициализируются????



C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class MainFuns{
public:
    string Name;
    int    Number;
    bool Blocking;
 
 
 
    MainFuns (string Name_init, int Number_init, bool Blocking_init) : Name(Name_init), 
                                                                       Blocking(Blocking_init), 
                                                                       Number(Number_init)
    {}
}Add_Pac,
 Clear_Pac,
 View_Pac,
 Block,
 Clear_Block,
 Settings,
 Is_Exit;

C++
1
2
3
4
5
6
7
8
    
MainFuns Add_Pac    ("  Add site in package" ,         1, true);
MainFuns Clear_Pac  ("  Clean up package" ,            2, true);
MainFuns View_Pac   ("  Load \\ view package" ,        3, true);
MainFuns Block      ("  Batch lock" ,                  4, true);
MainFuns Clear_Block("  Unlock" ,                      5, true);
MainFuns Settings   ("  Settings \\ parametrs" ,       1, true);
MainFuns Is_Exit    ("  Exit" ,                        2, true);
Добавлено через 1 минуту
Ну а если пишу что то типа Add_Pac.Name = "name";
то все нормально ... Почему???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
24.10.2012, 00:05     Конструктор #2
Цитата Сообщение от Egor138 Посмотреть сообщение
Почему переменные не инициализируются????
как это проявляется?
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2012, 00:11     Конструктор #3
У вас это компилируется? Конструктора по умолчанию нет, тогда как:
Add_Pac,
Clear_Pac,
View_Pac,
Block,
Clear_Block,
Settings,
Is_Exit;
Откуда видите, что не инициализируются? У меня всё инициализируется.
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
24.10.2012, 00:12  [ТС]     Конструктор #4
Цитата Сообщение от Jupiter Посмотреть сообщение
как это проявляется?
Я вывожу их на экран и ничего не вижу!!!
но если я напишу Add_Pac.Name = "name"; и выведу, то все замечательно

Добавлено через 1 минуту
Вот полный класс

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
30
31
32
33
class MainFuns{
public:
    string Name;
    int    Number;
    bool Blocking;
 
 
    MainFuns () : Name(""), Number(0),  Blocking(true)
    {}
 
 
    MainFuns (string Name_init, int Number_init, bool Blocking_init) : Name(Name_init), 
                                                                       Blocking(Blocking_init), 
                                                                       Number(Number_init)
    {}
 
    void Write_Start_OL() 
    {
        SCCP(OLPx , (Number * 2)+ OLSPy); cout<<Name;
    }
 
    void Write_Start_TL() 
    {
        SCCP(TLPx , (Number * 2)+ TLSPy); cout<<Name;
    }
 
}Add_Pac,
 Clear_Pac,
 View_Pac,
 Block,
 Clear_Block,
 Settings,
 Is_Exit;
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
24.10.2012, 00:20     Конструктор #5
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
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <string>
using namespace std;
 
class MainFuns
{
public:
    string Name;
    int    Number;
    bool Blocking;
 
   MainFuns (string Name_init, int Number_init, bool Blocking_init) : Name(Name_init), 
                                                                       Blocking(Blocking_init), 
                                                                       Number(Number_init)
    {}
};
 
int main()
{
 setlocale(0, "");
 
MainFuns Add_Pac    ("  Add site in package" ,         1, true);
MainFuns Clear_Pac  ("  Clean up package" ,            2, true);
MainFuns View_Pac   ("  Load \\ view package" ,        3, true);
MainFuns Block      ("  Batch lock" ,                  4, true);
MainFuns Clear_Block("  Unlock" ,                      5, true);
MainFuns Settings   ("  Settings \\ parametrs" ,       1, true);
MainFuns Is_Exit    ("  Exit" ,                        2, true);
 
MainFuns arr[7] = { Add_Pac, Clear_Pac, View_Pac, Block, Clear_Block, Settings, Is_Exit};
 
for (int i = 0; i < 7; i++)
    cout << arr[i].Name << ' ' << arr[i].Number << ' ' << arr[i].Blocking << endl;
 
 
  system("pause");
  return 0;
}
Миниатюры
Конструктор  
Yandex
Объявления
24.10.2012, 00:20     Конструктор
Ответ Создать тему
Опции темы

Текущее время: 00:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru