Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 18.12.2014
Сообщений: 19

ООП Классы. Выделение памяти под строку char*

06.02.2015, 20:04. Показов 2032. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делал программу на освоение классов и тд. и наткнулся на такую вот штуку.При вводе с клавиатуры переменной Name типа char* программа вылетает. то есть доходит до строки cin >> Name; и прекращает свое действие.
Сам начал разбираться только недавно, так что сильно за код не ругайте.

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
#include <iostream>
using namespace std;
class Student 
{
private:
    char* Name;
    int age;
    char Sex;
public:
    void Tellname()
    {
        cout << "Имя:";
        cin >> Name;
        cout << "Пол:";
        cin >> Sex;
        cout << "Дата рождения:";
        cin >> age;
    }
 
    int date()
    {
        int a;
        a = 2015 - age;
        return a;
    }
 
 
};
int main()
{
setlocale(LC_ALL, "Russian");
Student Vlad;
Vlad.Tellname();
system("pause");
return 0;
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.02.2015, 20:04
Ответы с готовыми решениями:

Классы. Выделение памяти под Char
Программа завершает работу не давая ввести данные &quot;Customer&quot; методом introData(). Подозреваю, что дело в выделение памяти. Подскажите, что...

Выделение памяти под динамический массив char
Здравствуйте, код: #include &quot;pch.h&quot; #include &lt;iostream&gt; using namespace std; struct train { char* fio; char*...

Выделение памяти под строку
Никак не могу понять, в чем проблема, подскажите пожалуйста. Предположим, инициализирую переменную, ожидая получить строку из 10...

5
 Аватар для Ouroboros-SK
63 / 63 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
06.02.2015, 20:27
Вы пытаетесь ввести данные в ничего. Память под "char* Name" на этапе "cin >> Name" еще не выделена.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.02.2015, 20:39
Поменяй тип на std::string.
0
0 / 0 / 0
Регистрация: 18.12.2014
Сообщений: 19
06.02.2015, 20:41  [ТС]
каким способом ее выделить?
0
 Аватар для Ouroboros-SK
63 / 63 / 47
Регистрация: 08.09.2013
Сообщений: 187
Записей в блоге: 1
06.02.2015, 20:49
Цитата Сообщение от Владисалав Посмотреть сообщение
каким способом ее выделить?
оператором new.

Добавлено через 3 минуты
Хотя, действительно, проще будет использовать std::string, как писали выше.
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 Student
{
private:
    std::string Name;
    int age;
    char Sex;
public:
    void Tellname()
    {
        cout << "Имя:";
        cin >> Name;
        cout << "Пол:";
        cin >> Sex;
        cout << "Дата рождения:";
        cin >> age;
    }
 
    int date()
    {
        int a;
        a = 2015 - age;
        return a;
    }
 
 
};
int main()
{
setlocale(LC_ALL, "Russian");
Student Vlad;
Vlad.Tellname();
system("pause");
return 0;
 
}
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
06.02.2015, 21:09
Цитата Сообщение от Владисалав Посмотреть сообщение
каким способом ее выделить?
Кого?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.02.2015, 21:09
Помогаю со студенческими работами здесь

Выделение памяти под строку. Замкнутый круг
Здравствуйте! Программе подается текстовый файл. Надо его считывать построчно, и загонять в массив. То есть каждой строке должен...

[ООП] Динамическое выделение памяти
Как бы вы реализовали ОПЕРАЦИЮ приравнивания объектов в которых память под массив выделяется динамически?#include &lt;iostream&gt; using...

выделение памяти char*
Подскажите пожалуйста как реализовать следующее: Человек вводит что-то с клавиатуры (строку и т.п.) И когда ему надоедает - нажимает...

Выделение динамической памяти для char[n]*
Есть количество цитат (quote), которые должны быть типа char* Есть переменная с колличеством цитат (quoteNum) Вопрос: как выделить...

Выделение динамической памяти для char
Здравствуйте, возник вопрос: как выделить память для char массива? Вот, что делаю я: #include &quot;stdafx.h&quot; ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru