1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include<iostream>
#include<string>
using namespace std;
class A
{
public:
int hf(const string name,const string addr){
string s=name+addr;
unsigned long hash = 5381;
char c;
for(unsigned int i=0; i<s.size(); i++)
{
c=s[i++];
hash = ((hash << 5) + hash) + c; /* hash * 33 + c */
}
if (hash>0)
return hash;
/*else
return -hash;*/
}
//.....
// méthode qui ne marche pas....
bool methodeproblematique ( const string & name,
const string & addr,
int & sumIncome,
int & sumExpense ) const
{
int key=hf(name,addr);
return true;
}
// todo
};
int main()
{
//....
return 0;
} |