Мне нужно создать конструктор, который возьмет два целых числа в качестве аргументов.
Оттуда мне нужно вызвать метод, беря эти целые числа по ссылке. Внутри этого метода я должен динамически преобразовывать целые числа в тип char*
(массив цифр).
В конце конструктора у меня должно быть два массива char*
вместо начальных целых чисел.Шаблонные классы - пара вопросов
Я вроде как должен сделать это так, потому что другой класс делает то же самое, что и на структурах. И сохраните их в атрибутах шаблона.
Я новичок в языке C++, но первым условием было использование шаблонов. Я сделал небольшое исследование по этой теме и выяснил, что он должен работать.
Я хотел бы скомпилировать все это сам, но беспорядок с внедрением классов C++ в моей голове создает довольно длинный список ошибок компиляции.
Первый вопрос - это можно сделать, используя шаблоны? Второй вопрос, потому что я уже написал что-то на себе:
template <class type> class Addition {
type num_a;
type num_b;
void convert(type, type);
public:
Addition(type, type);
}
template <class type> Addition::Addition(type a, type b) {
convert(&a, &b);
num_a = a;
num_b = b;
}
template <class type> Addition::convert(type *a, type *b) {
int temp_a = a, temp_b = b;
a = char[256], b = char[256];
// converting
}
Является ли это Годится, или я сделал что-то не так?
Есть ли у вас какие-либо предложения о том, как я реализую классы в C++?
Почему я не могу инициализировать атрибут со значением, например:
template <class type> class Addition {
type outcome = 0;
}
И если нет необходимости использовать это ключевое слово в C++, как я делаю что-то вроде этого ?:
template <class type> Addition::Foo(type a, type b) {
this->a = a; // a = a;
this->b = b; // b = b;
}
Не похоже, что здесь нужны шаблоны. Отбросьте их сначала, затем решите оставшиеся проблемы. –