Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Евгений2395
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 20
Записей в блоге: 2
#1

Инициализация char в конструкторе - C++

23.11.2014, 14:04. Просмотров 382. Ответов 3
Метки нет (Все метки)

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
class Abit
{
public:
   Abit();
   ~Abit();
 
 
protected:
private:
   bool medal;
   bool contractbudget;
   char name[15];
   bool neZdalKontract;
};
 
Abit::Abit():
medal(0),
contractbudget(0),
neZdalKontract(0)
{
strcpy(name,"Petya");
    std::cout<<"'Abit' was created (default)."<< std::endl;
}
 
int main()
{
Abit abit1;
system("pause");
return 0;
}
При инициализации name все компилируется, но потом выводит сообщение:"Run-Time Check Failure #2 - Stack around the variable 'abit1' was corrupted.". Если сделать так: "strcpy(name,"P");", то все нормально. Не могу понять как сделать так, чтобы name инициализировалось без этой ошибки:"Run-Time Check Failure #2 - Stack around the variable 'abit1' was corrupted."?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2014, 14:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Инициализация char в конструкторе (C++):

Инициализация *char в конструкторе - C++
Хай эврибади! class A { private: int a; int b; char *str; public: A() : a(0), b(0) { str = '\0'; }

Инициализация массива char в конструкторе - C++
Вопрос такой. Есть класс simple, в классе есть поле char in. Естественно хочу инициализировать это поле в конструкторе. in={0},...

Инициализация указателей в конструкторе - C++
Всем привет! Вот интересный вопрос. Написано, что до вызова тела конструктора создаются поля класса. Для пользовательских типов -...

инициализация перменных в конструкторе - C++
у меня есть статический вектор векторов инт(vector&lt;vector&lt;int&gt;&gt;),который мне нужно заполнить данными,но при попытке написать ...

Инициализация массива в конструкторе - C++
Здравствуйте, я хотел бы узнать, возможна ли инициализация массива в конструкторе без использования циклов? Вот пример конструктора ...

Инициализация элементов массива в конструкторе - C++
Доброго времени суток! Подскажите пожалуйста можно ли инициализировать элементы массива при помощи списка инициализации в конструкторе...

3
mishelle92
64 / 63 / 21
Регистрация: 09.10.2012
Сообщений: 203
Завершенные тесты: 1
23.11.2014, 14:11 #2
А деструктор есть?
0
Евгений2395
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 20
Записей в блоге: 2
23.11.2014, 16:20  [ТС] #3
да
C++
1
2
3
4
Abit::~Abit()
{
   std::cout<<"'Abit' was destroyed."<<std::endl;// TODO : implement
}
0
Евгений2395
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 20
Записей в блоге: 2
24.11.2014, 20:13  [ТС] #4
Оказалось все правильно, просто заголовочный файл не тот открыл)
0
24.11.2014, 20:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2014, 20:13
Привет! Вот еще темы с ответами:

Инициализация перемнных класса в конструкторе - C++
Есть ли разница между Constructor():var_1(VAL), var_2(VAL) {} и Constructor() { var_1 = VAL; var_2 = VAL; } ?

Инициализация строковых массивов в конструкторе - C++
Здравствуйте уважаемые гуру. Задачка: Нужно инициализировать массив char'ов (и пару int'ов) в конструкторе для объекта Х,а потом...

Инициализация вектора статическим массивом в конструкторе класса - C++
Доброго всем времени суток!Помогите разобраться.Есть класс.Нужно вектор заполнить из статического массива,своего рода константной таблицей....

Задание размера и инициализация массива указателей в конструкторе - C++
1) h: SDL_Texture *textures; Как задать размер и инициализировать в конструкторе? Если пишу так: SDL_Texture *textures; ...


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

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

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