В заголовке:виртуальный оператор int() (int k);
#include <iostream>
#include <vector>
using namespace std;
template<class Key>
class HashFunction{
public:
int N;
virtual int operator()(Key k)=0;
};
class MyHashFunction : public HashFunction <int> {
public:
virtual int operator()(int k);
};
затем в файле CPP:
#include "Hash classes.h"
int MyHashFunction::operator()(int k){
return k% this->N ;
}
Может кто-нибудь объяснить этот синтаксис пожалуйста: оператор виртуальной Int() (Key к) = 0; Я понимаю виртуальные методы и «= 0» и какие шаблоны ... в общем, но мне трудно понять, что означает этот «int operator() (Key k)», а затем как он используется в cpp файл, у меня до сих пор не так много опыта использования этих понятий в C++, поэтому синтаксис довольно раздражает
Спасибо за ваше время, очень ценим.
Эта особенность C++ под названием "перегрузка оператора". 'operator()' (операторные скобки) в этом случае. Google это для дальнейшей информации. – Drop