|
0 / 0 / 0
Регистрация: 16.05.2016
Сообщений: 45
|
||||||||||||||||
Передача по ссылке01.08.2019, 12:45. Показов 4988. Ответов 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
|
|
|
6352 / 3523 / 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
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|||||||
| 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 | |
|
Передача объекта по ссылке Передача вектора по ссылке
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу:
https:/ / github. com/ altbodhi/ ReConMan
По итогу пришел к мысли, что DU не дружат с существующими технологиями.
От сериализации до отображения в реляционную. . .
|
Администрация Хабра удаляет новые алгоритмы, которые не западно ориентированной философии кода, без уведомлений и объяснений.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
|
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
|
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2.
Задача: контроль уникальности строк в. . .
|
|
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
|
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
|
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
|
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
|