[ Pretender @ 03.03.2004. 20:57 ] @
Code: //FuctionTable.cpp #include <iostream> #include <conio> using namespace std; // A macro to define dummy functions: #define DF(N) void N() { \ cout << "function " #N " called..." << endl; } DF(a); DF(b); DF(c); DF(d); DF(e); DF(f); DF(g); void (*func_table[])() = { a, b, c, d, e, f, g }; int main() { while(1) { cout << "press a key from 'a' to 'g' " "or q to quit" << endl; char c, cr; cin.get(c); cin.get(cr); // second one for CR if ( c == 'q' ) break; // ... out of while(1) if ( c < 'a' || c > 'g' ) continue; (*func_table[c - 'a'])(); } getch(); } ///:~ 1) Sta je CR, i sta radi get(cr) kada unosimo samo 1 karakter? 2) Ne vidim nigde poziv makroa, nego samo poziv f-je (npr. d), koja (tako se cini, mada stvar radi) ne moze da dodje do svoje definicije (?) 3) Cemu DF(a), DF(b),... (odgovor verovatno u sklopu 2)) Nista od ovoga autor nije objasnio. Tx |