2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
|||||||||||
1 | |||||||||||
Использование char строк как членов класса29.10.2019, 16:50. Показов 1763. Ответов 12
Изначально всё получалось, смог вывести как надо возраст ( int age )
Но застрял на выводе имени ( char *cs_name; ) с таким типом данных опыта не имею Подскажите как заставить код работать. p.s. после рабочего варианта с int age код неоднократно менялся, не удивлюсь если где-то накосячил. main.h Кликните здесь для просмотра всего текста
main.cpp Кликните здесь для просмотра всего текста
Добавлено через 11 минут Так же присутствует ошибка которую пока не получается исправить : main.cpp(19,1): error C2084: функция "void Person::Input(void)" уже имеет текст реализации main.cpp(24,1): error C2084: функция "void Person::Print(void)" уже имеет текст реализации
0
|
29.10.2019, 16:50 | |
Ответы с готовыми решениями:
12
Использование динамических массивов как членов класса Правильное использование умных указателей, как членов класса Массив объектов класса. Печать строк-членов класса. Использование private-членов класса в сигнатуре методов |
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|||||||||||
29.10.2019, 17:06 | 2 | ||||||||||
Сообщение было отмечено Triglav86 как решение
Решение
Triglav86, могу предложить такой вариант:
потому что в h-ке уже есть тело, хотя и пустое ({}) Есть вариант обозвать ее виртуальной, тогда функция заменится на нужную
1
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
||||||
29.10.2019, 18:34 | 3 | |||||
Кликните здесь для просмотра всего текста
1
|
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
|
30.10.2019, 12:35 [ТС] | 4 |
Большое спасибо! Сейчас буду ваш код изучать
Можете ещё подсказать, в этом же коде требуется реализовать : Пол (логический тип: 0 — муж., 1 — жен.) — int(bool) Я тут даже логику понять не могу. Было бы просто bool, было бы всё ясно Добавлено через 1 час 47 минут Не понимаю почему реализовано через if и почему если if убрать выскакивает ошибка "нарушение прав доступа при чтении по адресу 0x0000000000000000"
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
30.10.2019, 12:42 | 5 |
Да потому и реализовано через
if Если класс создан без параметров, то значением полей будет что? Нули! Когда пытаться вывести что-то по нулевому указателю, что будет?
1
|
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
|
30.10.2019, 12:43 [ТС] | 6 |
У меня только одно предположение, обычный задать возможность выбора пола при заполнении командной строки, вывести сообщение "Укажите ваш пол : цифра 0 - мужской, цифра 1 - женский"
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
30.10.2019, 12:45 | 7 |
Triglav86, когда вводите имя и возраст, добавьте ввод пола. Какие проблемы?
Вводите, как хотите. Хотите 0 или 1. Да пожалуйста, кто Вам это запретит? Введенное значение, если хотите, можете свести к bool
1
|
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
|
30.10.2019, 12:56 [ТС] | 8 |
liv Я толь-только вникать начал в программирование. У меня понимание такое - сказали делать так значит так и делаю. Но всё сводится к тому что одно и тоже задание можно по разному решать. Следуя методичке работу не решить, к примеру можно привести ошибку которая была у меня ранее:
Кликните здесь для просмотра всего текста
main.cpp(19,1): error C2084: функция "void Person::Input(void)" уже имеет текст реализации
main.cpp(24,1): error C2084: функция "void Person::Print(void)" уже имеет текст реализации В методичке чётко написано что надо создать и в main.h и в main.cpp эти функции. Но из-за этого ошибки выскакивали. И то каким образом можно эту ошибку обойти там ни слова нет. Век живи - век учись Спасибо этому форуму и тем кто помогает на нелегком пути к становлению программистом!
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
30.10.2019, 13:04 | 9 |
Вы молодец, раз пришли к такому пониманию...
Программирование - творческая работа. Путей реализации масса. Главное - понимать суть происходящего. А способ реализации подберется...
1
|
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
||||||
01.11.2019, 13:28 [ТС] | 10 | |||||
liv Не могли бы помочь ещё с одной частью задания. Сколько не бьюсь максимум что смог выжать это вывод 0 и 1 в консоль. Надо вывести пол студента
Кликните здесь для просмотра всего текста
Планировал выполнить задание так: вводишь четное - Мужской пол, нечетное женский. if (cs_pol % 2 == 0) Но что-то идёт не так
0
|
5113 / 4552 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
|
|
01.11.2019, 21:06 | 11 |
Triglav86, cs_pol - целое? Разве можно целому присваивать строку?
Запишите туда число 0 или 1. При выводе анализируйте число. В зависимости от значения, выводите нужное слово
1
|
4773 / 2582 / 894
Регистрация: 29.11.2010
Сообщений: 5,590
|
||||||
04.11.2019, 15:40 | 12 | |||||
Разделите данные и их представление.
Кликните здесь для просмотра всего текста
1
|
2 / 2 / 0
Регистрация: 13.06.2019
Сообщений: 66
|
|
04.11.2019, 15:56 [ТС] | 13 |
lemegeton Спасибо !
0
|
04.11.2019, 15:56 | |
04.11.2019, 15:56 | |
Помогаю со студенческими работами здесь
13
Использование собственного класса строк Как полю класса типа char* присвоить значение типа *char Использование метода класса как функции в качестве типизированного аргумента в методе класса Использование класса как переменной другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |