|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 45
|
||||||||||||||||
Передача по ссылке01.08.2019, 12:45. Показов 5069. Ответов 31
Задание №8 из книги "Объектно-ориентированное программирование в С++", 4-е издание, Роберт Лафоре, 2004г.
В некоторых компьютерных языках, таких, как Visual Basic, есть операции, с помощью которых можно выделить часть строки и присвоить её другой строке. (В стандартном классе string предложены различные подходы.) Используя наследование, добавьте такую возможность в класс Pstring из упражнения 2. В новом производном классе Pstring2 разместите три новых функции: left(), mid() и right().
временный объект класса Pstring2, который затем их возвратит. Для получения лучшего результата используйте в этих функциях возврат по ссылке, чтобы они могли быть использованы с левой стороны знака "равно" для изменения существующей строки. Мой код:
Если делать через временный объект:
временный объект. И эти функции я не могу использовать слева от знака равно "=". Можно еще создать глобальный объект класса Pstring2. Тогда будет работать передача по ссылке, можно использовать слева от знака равно, но глобальный объект != временный объект. Заранее спасибо.
0
|
||||||||||||||||
| 01.08.2019, 12:45 | |
|
Ответы с готовыми решениями:
31
Передача по ссылке
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||||||
| 01.08.2019, 16:03 | |||||||
Сообщение было отмечено НовыйПетрович как решение
Решение
1
|
|||||||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 45
|
|
| 01.08.2019, 16:17 [ТС] | |
|
Походу это будет лучший вариант. Мой код нельзя использовать слева от знака равно.
С этим разобрались. Тогда какую другую книгу посоветуете? Имеет ли смысл бросать эту или сделать это задание как вы посоветовали и идти дальше. Все-таки здесь 9 глав закончил. Добавлено через 4 минуты Объясните почему здесь https://en.wikipedia.org/wiki/Most_vexing_parse TimeKeeper time_keeper(Timer()); Вызывается конструктор чужого, никак не связанного класса?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 01.08.2019, 16:22 | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 45
|
|
| 01.08.2019, 16:27 [ТС] | |
|
А есть такие книги, которые вы читали, и можете сказать, что там минимум ошибок?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 01.08.2019, 16:30 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 45
|
|
| 01.08.2019, 16:36 [ТС] | |
|
Мне не сложно взять любую другую. Но именно так я выбрал Лафоре. И сейчас вы мне говорите, что автор учит плохому (это слышу не в первый раз, но во второй - повод задуматься). Где гарантия, что следующий случайно выбранный автор в своей книге допустил меньше ошибок, чем Лафоре?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 01.08.2019, 16:40 | |
|
1
|
|
|
6353 / 3524 / 1428
Регистрация: 07.02.2019
Сообщений: 8,995
|
|
| 01.08.2019, 16:44 | |
|
НовыйПетрович, советую "Базовый курс" Липпмана. Очень грамотно в плане преподнесения информации, все по полочкам разложено. Сам её сейчас читаю, что бы закрепить и дополнить знания, полученные после прочтения
"Programming: Principles and Practice Using C++" Страуструпа и из др. источников. Вторая довольно сумбурная и местами тяжеловата для новичка, но автор не абы кто(хотя все же не преподаватель), тоже очень полезная. Дальше Мейерса планирую читать.
1
|
|
| 01.08.2019, 16:57 | |
|
0
|
|
| 01.08.2019, 17:05 | |
|
0
|
|
|
19505 / 10108 / 2463
Регистрация: 30.01.2014
Сообщений: 17,828
|
|||||||
| 01.08.2019, 21:32 | |||||||
String(s) не в списке инициализации (не после двоеточия и не до открывающей скобки).В С++ много контекстно-зависимых семантик. Поэтому выражение String(s) может иметь совершенно разный смысл в зависимости от того, где вы его напишете и чем при этом будут являться String и s.Я также хочу заметить, что в данном случае, из-за most vexing parse объект будет не безымянный, а именованный. String(s); в данном контексте полностью эквивалентно String s;, правда на неправильность происходящего это не влияет.Добавлено через 1 минуту Добавлено через 1 минуту Добавлено через 3 часа 33 минуты НовыйПетрович, вообще странно читать от вас удивление по поводу этого, когда вы уже с таким сталкивались: Точка с запятой после структуры, перечисления, класса
1
|
|||||||
|
Комп_Оратор)
|
||||||
| 02.08.2019, 14:21 | ||||||
|
НовыйПетрович, очень мутно, написано. Я бы (без проверок и пр.) что-то такое наваял:
0
|
||||||
| 02.08.2019, 14:21 | |
|
Передача объекта по ссылке Передача вектора по ссылке
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|