Шаблоны классов с++ как доделать задачу? 1. Описать шаблон класса АТД: "Участник очереди на печать издания: фамилия, телефон, количество страниц"
2. Определить и реализовать в шаблоне класса конструкторы, деструкторы, функции Input (ввод с клавиатуры) и Print (вывод на экран), перегрузить операцию присваивания.
3. Предусмотреть генерацию и обработку двух исключений для возможных ошибок. Ситуации, которые могут привести к генерации исключений смоделировать самостоятельно.
4. Показать использование созданного класса, включая ситуации, приводящие к генерации исключений. Показать инстанцирование шаблона для типов int, double.
Не понятно как перегрузить операцию присвоения, и как подставить в шаблон int и double если там должна быть строка.
Да и в целом не сильно разобрался с ООП, прошу помощи в исправлении данной программы. То что написано:#include
#include
#include

using namespace std;

template
class OCHERED {
private:
t_name name;
t_tel tel;
t_count count;
public:
OCHERED () {}
OCHERED (t_name t1, t_tel t2, t_count t3) {name = t1; tel = t2; count = t3}
void Input() {
cout > name;
cout > tel;
cout > count;
try
{
if(count obj;
obj.Input();
obj.Print();
_getch();

return 0;
}

21 Авг 2019 в 07:02
182 +1
0
Ответы
1

Чтобы выполнить перегрузку оператора присваивания для шаблона класса, необходимо добавить метод operator= в класс и перегрузить его для каждого типа данных, который вы используете в шаблоне.

Например, для класса OCHERED ваш оператор присваивания может выглядеть так:

OCHERED& operator=(const OCHERED& other) {
if (this != &other) {
name = other.name;
tel = other.tel;
count = other.count;
}
return *this;
}

Чтобы использовать шаблон для типов int и double, вы можете изменить определение объекта класса OCHERED следующим образом:

OCHERED<string,string,int> obj1;
OCHERED<string,string,double> obj2;
obj1.Input();
obj1.Print();
obj2.Input();
obj2.Print();

Таким образом, вы будете использовать созданный шаблон класса для типов int, double и string.

Если у вас возникают проблемы с ООП, вам также стоит изучить основные концепции объектно-ориентированного программирования, такие как инкапсуляция, наследование и полиморфизм. Также полезно изучить работу с классами и объектами в C++, чтобы более глубоко разобраться в теме.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 017 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир