ptolemy2.c
来自「this is a gcc file, you can download it 」· C语言 代码 · 共 69 行
C
69 行
// GROUPS passed ptolemy-bugs#include <iostream>class PTcl {public: int dispatcher(int which,int argc,char** argv); // fns in the table int one(int argc, char** argv); int two(int argc, char** argv); int three(int argc, char** argv);};// An InterpFuncP is a pointer to an PTcl function that takes an argc-argv// argument list and returns TCL_OK or TCL_ERROR.typedef int (PTcl::*InterpFuncP)(int,char**);struct InterpTableEntry { char* name; InterpFuncP func;};// Here is the function table and dispatcher function.// These macros define entries for the table#define quote(x) #x#define ENTRY(verb) { quote(verb), &PTcl::verb }static InterpTableEntry funcTable[] = { ENTRY(one), ENTRY(two), ENTRY(three), {0, 0}};int PTcl::dispatcher(int which, int argc, char** argv) { return (this->*(funcTable[which].func))(argc, argv);}void printargs(char** argv) {// while (*argv) {// cout << " " << *argv++;// }// cout << "\n";}int PTcl::one(int, char** argv) { std::cout << "FAIL\n"; printargs(argv); return 1;}int PTcl::two(int, char** argv) { std::cout << "PASS\n"; printargs(argv); return 0;}int PTcl::three(int, char** argv) { std::cout << "FAIL\n"; printargs(argv); return 1;}int main (int argc, char** argv) { PTcl obj; return obj.dispatcher(1,argc,argv);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?