Вызов операторной функции в классе в C ++ - PullRequest
2 голосов
/ 26 января 2020

Изучая C ++, я получил операторную функцию в классе, но не знаю, как ее вызвать:

class Getbytes
{
public:
      Getbytes();

      int operator() (unsigned char* C1, unsigned char* C2)
       {do something to C1 and C2 and return int; };
}

main ()
{

 Getbyes myBytes;

//Here, how to call the "operator() (unsigned char* C1, unsigned char*C2)"?
 myBytes??  

}

Ответы [ 2 ]

4 голосов
/ 26 января 2020

Вы называете это как myBytes(); или myBytes.operator();, если хотите быть подробным об этом.

Конечно, вам также необходимо передать аргументы, необходимые для функции. Нравится myBytes("foo", "bar");

2 голосов
/ 26 января 2020

Вы можете назвать его как

Getbytes myBytes;

unsigned char s1[] = "Hello";
unsigned char s2[] = "World";

myBytes( s1, s2 );

или

myBytes.operator()( s1, s2 );

Если оператор не изменяет сам объект класса Getbytes, тогда он должен быть объявлен как

int operator() (unsigned char* C1, unsigned char* C2) const;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...