PDA

View Full Version : [C++]Dichiarazione classe


Luc@s
31-12-2003, 17:13
#define CPARSE_IMLEMENT(name)
class name \
{
public:\
// implements public member
name(){};\
~name(){};\
void Read(std::string separator = "v"){};
void Write(std::string separator = "v", std::string key = "",
std::string value = ""){};\
void Test(){};\
const std::string Find(std::string key){};\
private:
std::string _filename;\
std::map<std::string, std::string> conf;\
};

se faccio:

CPARSE_IMLEMENT(CProva);
CParse config;

Mi dice che p è un tipo non valido:(

pela
01-01-2004, 11:37
scusa ma perché fai tutto questo casino con il define? a che serve?

Luc@s
01-01-2004, 11:52
hai presente le MFC ???
Voglio che l'utente debba inserire solo il nome della classe e implementare i metodi :)


Buon anno

pela
01-01-2004, 15:11
:confused:

dm69
02-01-2004, 00:46
Voglio che l'utente debba inserire solo il nome della classe e implementare i metodi

L'utente non puo' implementare un bel niente visto che li hai gia implementati tu.

Usare le macro in questo modo e' veramente dannoso, tra parentesi, dato che tutta la macro si trova su una sola riga, in caso di errori di compilazione non si capisce nulla.

Cambia stile.

cionci
02-01-2004, 10:18
Originariamente inviato da Luc@s
hai presente le MFC ???
Mi fai un esempio di questa cosa in MFC ?

Luc@s
02-01-2004, 11:19
BEGIN_MSG_MAP(CMainFrame)
MESSAGE_HANDLER(WM_CREATE, OnCreate)
COMMAND_ID_HANDLER(ID_APP_EXIT, OnFileExit)
COMMAND_ID_HANDLER(ID_FILE_NEW, OnFileNew)
COMMAND_ID_HANDLER(ID_EDIT_CUT, OnEditCutOrCopy)
COMMAND_ID_HANDLER(ID_EDIT_COPY, OnEditCutOrCopy)
COMMAND_ID_HANDLER(ID_VIEW_TOOLBAR, OnViewToolBar)
COMMAND_ID_HANDLER(ID_VIEW_STATUS_BAR, OnViewStatusBar)
COMMAND_ID_HANDLER(ID_APP_ABOUT, OnAppAbout)
CHAIN_MSG_MAP(CUpdateUI<CMainFrame>)
CHAIN_MSG_MAP(CFrameWindowImpl<CMainFrame>)
END_MSG_MAP()

cionci
02-01-2004, 11:29
Questa è un'altra cosa... Aggiunge un metodo a CMainFrame...
In pratica crea un'unica funzione che gestisce tutti i messaggi e specifica quali messaggi questa funzione debba gestire...
CMainFrame nell'header esiste (controlla)...

Fenomeno85
02-01-2004, 13:06
mazzate che casino ... la mia piccola consocenza sul linguaggio è:

class nome
{
private:
nomi oggetti();
public:
funzioni ();
~nome ();
nome ();
}

nome::funzione () -> per richiamarle

>Sempre E Solo Lei<