Как совместно использовать функции между классами C++, если объект-член, с которым они работают, определен по-разному (сC++

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

Сообщение Anonymous »

У меня есть ситуация, когда у меня есть один класс A, который содержит те же функции, что и класс B,
но A определяет свой собственный объект в стеке для выполнения функций, тогда как B получает свой объект извне.< /p>
Имя объекта и синтаксис одинаковы для каждой функции в обоих классах.
Пример (придуманный):

Код: Выделить всё

class A
{
private:
int numbers[200];

public:
A() {};

int do_stuff()
{
return numbers[0] + numbers[1];
}
};

class B
{
private:
int *numbers;

public:
A(int *num): numbers(num) {};

int do_stuff()
{
return numbers[0] + numbers[1];
}
};
Несмотря на то, что это тривиальный пример, вы можете видеть, насколько он будет расточительным, если имеется 20 функций, каждая из которых является копией другой.
Пожалуйста, не тратьте коллективную энергию на споры о том, почему А лучше Б или наоборот, я знаю, чего пытаюсь достичь, и это нетривиально, в отличие от вышесказанного.>

Подробнее здесь: https://stackoverflow.com/questions/790 ... -operate-o

Вернуться в «C++»