#include "shell.h" Command::Command(const string& n, int (*funcptr)(const vector* args)) : name(n) , funcCommand(funcptr){ checkObj(); numCom++; } int Command::execute(const vector* args){ return (*funcCommand)(args); } string Command::getName(){ return this->name; } Command::Command(const Command& old) : name(old.name) , funcCommand(old.funcCommand){ checkObj(); numCom++; } void Command::checkObj(){ for(unsigned int i=0; i'a'&&name[i]<'z')||(name[i]>'A'&&name[i]<'Z'))){ throw CommandNameNotValidException(); } } } Command::~Command(){ numCom--; } unsigned int Command::numCom = 0;