как передать объект в класс в качестве параметра - PullRequest
1 голос
/ 14 марта 2012

Если у меня есть несколько похожих классов, и мне нужно выполнить один и тот же набор функций для доступа к каждому классу, я подумал о создании универсальной функции, которая принимает класс и указатель в качестве параметра. как это сделать?

например:

   CClass1 * pClass1 = "something";
   CClass2 * pClass2 = "something";
   CClass3 * pClass3 = "something";

pClass1, pClass2 и pClass3 используются аналогичным образом, поэтому мне нужно сделать универсальную функцию, передающую pClass1,2,3 в качестве параметров вместо повторения функции для трех указателей. так есть ли способ отправить класс и объект в качестве параметра ??

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Хотя ваш пример кода не имеет смысла, похоже, что вы описываете что-то, что можно сделать с помощью шаблонов:

template<class T>
void do_something() {
    T t = "something";
}
0 голосов
/ 14 марта 2012

Я не уверен, правильно ли я понял ваш вопрос: нормальный способ в C ++ иметь общую функцию для классов - это извлечь все классы из одного и того же базового класса.

Помимо этого, вы можете перегрузитьфункции и операторы.Затем вы можете применить ту же (по имени) функцию, но вызвать функцию для правильного типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...