看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《CrBoy (上大學好忙喔)》之銘言: : 這是我依照想法寫的 : struct MyType: public pair<int,int>{ : MyType():height(first),weight(second){} : MyType(int h, int w):height(first),weight(second){height=h, weight=w;} : MyType(pair<int,int> p):height(first),weight(second) : {height=p.first,weight=p.second;} : int &height, &weight; : }; 這樣改如何: template <class T, class S> struct MyType: public pair<T, S> { #define MYTYPE_INIT height(first), weight(second), pair<T, S> MyType() : MYTYPE_INIT() {} MyType(T h, S w) : MYTYPE_INIT(h, w) {} MyType(pair<T, S> p) : MYTYPE_INIT(p) {} #undef MYTYPE_INIT T &height; S &weight; }; 只是把不清爽的部份塞到macro裡 但是這個macro還是要寫3次 XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.34.186.254