Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Евгений2395
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 20
Записей в блоге: 2
#1

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

23.11.2014, 14:04. Просмотров 420. Ответов 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 в конструкторе
Хай эврибади! class A { private: int a; int b; char *str; public:...

Инициализация массива char в конструкторе
Вопрос такой. Есть класс simple, в классе есть поле char in. Естественно хочу...

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

Инициализация указателей в конструкторе
Всем привет! Вот интересный вопрос. Написано, что до вызова тела конструктора...

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

3
mishelle92
67 / 66 / 36
Регистрация: 09.10.2012
Сообщений: 214
Завершенные тесты: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.11.2014, 20:13

Инициализация строковых массивов в конструкторе
Здравствуйте уважаемые гуру. Задачка: Нужно инициализировать массив char'ов...

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

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


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

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

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