0 / 0 / 0
Регистрация: 10.12.2019
Сообщений: 51

Реализовать оператор индекса в классе

27.01.2021, 17:33. Показов 1717. Ответов 25

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста кто может:
Для класса Book реализовать:
1. operator[] (int idx) который для индекса 0 возвращает строку с автором, для 1 - строку с названием книги, для всех остальных параметров - nullptr
2. Дружественный operator<< для вывода автора и названия книги в консоль

Code
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <cstring>
#define _CRT_SECURE_NO_WARNING
 
class Book{
    
    public:
    
    Book(char const* Author, char const* BookName){
        
        _Author = new char[50];
        strcpy(_Author, Author);
        
        _BookName = new char[50];
        strcpy(_BookName, BookName);
        
    }
    
    Book(const Book & other){
        
        _BookName = other._BookName;
        _Author = other._Author;
    }
    
    const char* getAuthor(){
        return _Author;
    }
    
    const char* getName(){
        return _BookName;
    }
    
    ~Book(){
        
        delete[] _Author;
        delete[] _BookName;
    }
    private:
    
    char* _BookName;
    char* _Author;
 
};
 
 
int main()
{
   int BookNumber = 1;
   
   Book b1("Stephen King", "The Green Mile"); 
   std::cout <<"Book number: "<< BookNumber++ <<"\nAuthor of this book is " << b1.getAuthor() <<"\nBook\'s name is \"" << b1.getName() <<"\"" << std::endl;
   std::cout <<"\n";
   
   Book b2(b1); 
   std::cout <<"Book number: "<< BookNumber++ <<"\nAuthor of this book is " << b2.getAuthor() <<"\nBook\'s name is \"" << b2.getName() <<"\"" << std::endl;
   std::cout <<"\n";
   
   
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.01.2021, 17:33
Ответы с готовыми решениями:

Реализовать оператор сравнения в классе длинных чисел (длинная арифметика)
Здравствуйте, дорогие форумчане. Недавно назрел вопрос, как бы сделать сравнение чисел длинной арифметики в дальнейшем коде? Сравнение...

Помогите реализовать метод закраски, чтобы он был в классе и вызывался в другом классе
Помогите реализовать метод закраски, чтобы он был в классе и вызывался в другом классе

Оператор if для индекса
Как правильно наложить условие в этом случае, посмотрите? В конце кода

25
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
27.01.2021, 20:38
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Во-первых, как раз ошибался. Квантовая механика, о которой он говорил с тех пор миллион раз была проверена-перепроверена.
Это разговор о другом. Цитата рассчитана на некоторое чувство юмора. И многие её поймут. Что касается КМ то один из корифеев -Фейнман сказал :"Если вам кажется, что вы понимаете квантовую механику, то вы не понимаете квантовую механику!". Если вам интересно, обсудить - жду в разделе Физика)
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Во-вторых, причём вообще здесь доступ в compile-time? Речь идёт о доступе а runtime
Это вы о чём?

Добавлено через 1 минуту
Цитата Сообщение от IGPIGP Посмотреть сообщение
Однако, в чём вопрос? Вам нравится альтернатива оператору доступа (точка) к имени поля класса в виде номера. Мне не нравится. И давайте так и оставим?
На этом откланяюсь. Тема страдает.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.01.2021, 20:44
Цитата Сообщение от IGPIGP Посмотреть сообщение
Это вы о чём?
Вот об этом
Цитата Сообщение от IGPIGP Посмотреть сообщение
Однако, в чём вопрос? Вам нравится альтернатива оператору доступа (точка) к имени поля класса в виде номера. Мне не нравится. И давайте так и оставим?
Цитата Сообщение от IGPIGP Посмотреть сообщение
Это мелочи по сравнению с приучением забыть о критическом подходе (основном инструменте высшей нервной деятельности). Студент, воспитанный в таком ключе, будет делать, что скажут. А что у нас говорят мы уже знаем. Идиллически-феерическая перспектива? Не-а. Оно уже давно работает)
Вообще-то, вы тут демонстрируете студенту махрово-догматический подход. Не стоит переворачивать всё с ног на голову
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
27.01.2021, 20:48
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Вообще-то, вы тут демонстрируете студенту махрово-догматический подход. Не стоит переворачивать всё с ног на голову
oleg-m1973, чудес не бывает. Вы били в плюсах одним из немногих, человеком, который не переходит на личные оценки в режиме трамвайного жлобства:
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
вы тут демонстрируете студенту махрово-догматический подход
Не стану продолжать. Читатели хорошо видят те качества, которые вы способны продемонстрировать. Дело уже даже не в не понимании предметной логики.
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.01.2021, 21:08
Цитата Сообщение от IGPIGP Посмотреть сообщение
oleg-m1973, чудес не бывает. Вы били в плюсах одним из немногих, человеком, который не переходит на личные оценки в режиме трамвайного жлобства:
Ну, я и здесь, вроде, не обманул твоих ожиданий - "вы тут демонстрируете" это такой же переход на личности, как и "вы ошибаетесь". Тем более вас было двое, а я один.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
27.01.2021, 22:43
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Ну, я и здесь, вроде, не обманул твоих ожиданий - "вы тут демонстрируете" это такой же переход на личности, как и "вы ошибаетесь". Тем более вас было двое, а я один.
"вы ошибаетесь".
Это оценка, конечно. И в зависимости от контекста она могла быть поводом к поединку в давние времена. Хотя это не
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
махрово-догматический подход
Вообще,
как языковед - языковеду,
в русском языке эпитет махровый
вошел в оборот от характеристики различного рода мелкособственнической (мелкобуржуазной, мелко-единолично крестьянской, мелко-купеческой (торгово-скобарской), бюргерской и пр.) манеры видеть мир и, соответственно, себя вести.
Для догматизма характерны такие эпитеты как косность, дремучесть, средневековость и т.п.
Я сейчас не касаюсь самого значения слова догма. Я говорю о легкости с которой вы допускаете подобные характеристики в адрес человеко, кортоый вам не родня и не ровня.
А между тем, я от начала пытался уйти от столкновения, заметив странность данной дискуссии от самого её начала:
Цитата Сообщение от IGPIGP Посмотреть сообщение
Мы не обязаны смотреть на вещи имея эквивалентное понятие о норме, по любому вопросу.
Для меня индексное обращение отражает интерфейс коллекции (даже если там и близко нет адресной арифметики).
Но не примите это как попытку дать вам урок хороших манер. Вы не обманули)
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
я и здесь, вроде, не обманул твоих ожиданий
Я выразил лишь разочарование.
0
28.01.2021, 00:07

Не по теме:

Цитата Сообщение от IGPIGP Посмотреть сообщение
Вообще,
как языковед - языковеду,
в русском языке эпитет махровый
Вообще, как языковед, языковеду:
Как ты думаешь, вот это твоё
Цитата Сообщение от IGPIGP Посмотреть сообщение
На этом откланяюсь. Тема страдает.
не звучит ли как "иди нах...."? Что ты ожидал услышать после этой фразы? Я ещё вроде как-то мягко отреагировал, даже не обозвал тебя "трамвайным жлобом".
Цитата Сообщение от IGPIGP Посмотреть сообщение
личные оценки в режиме трамвайного жлобства:

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2021, 00:07
Помогаю со студенческими работами здесь

Реализовать перегрузку метода: - статического; - экземплярного (реализовать в классе)
Метод замены в массиве заданного элемента на указанное число, удаления заданного элемента.

В классе необходимо отредактировать строку. Как сделать указатель индекса массива на элемент?
Здравствуйте. Программа на самом деле большая. В данном кусочке не получается произвести редакцию элементов массива из-за...

оператор в классе
Не проходит следующий код. Причина в return. ((((( кто знает, подскажите что не так! public ref class DATA { public: ...

Оператор >> в классе вектора
Доброго дня, уважаемые форумчане. Описываю класс - вектор. Подскажите пожалуйста, как добиться того чтобы оператор &quot;&gt;&gt;&quot;...

Переопределить оператор << в классе
Добрый день. Не пойму как переопределить оператор &lt;&lt; для моего класса Пробую так #include &lt;iostream&gt; class...


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

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

Новые блоги и статьи
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru