class node {
private:
char elements [5];
node(){
for(char i=0;i<5;i++){
elements[i]=-1;
}
}
public:
char setelement(char id,char value) {
element[id]=value;
return value;
}
char getelement(char id) {
return element[id];
}
double gethash(unsigned char * hashtable) {
double temp;
temp=1;
for(char i=0;i<5;i++){
if(element[i]!=-1){
temp*=hashtable[cards[i]];
}
}
return temp;
}
};
class valuenode:public node {
public:
int evaluate() {
// тут будет функция
}
private:
int power;
};
class indexnode:public node {
public:
int setindex(char id,int value) {
elementindex[id]=value;
return value;
}
int getindex(char id) {
return elementindex[id];
}
private:
int elementindex [52];
};
template < typename T>
int pushnodes (T * array,int beginatindex=0,char toplevel=1) {
Действительно, была точка входа и скрипт, через который подключались модули в нужные места шаблона.