C 多型與可變引數混搭的奇妙之處

2021-07-10 07:35:41 字數 483 閱讀 7586

#include #include class a

~a(){}

virtual void fun(int n, ...)

virtual void fun1(int n) };

class b : public a

void fun1(int n) };

class c : public a

void fun1(char c) };

int main(int, char**)

執行結果:

b.fun hello

b.fun1

c.fun 9 9

a.fun1

press any key to continue

換句話說,利用可變引數,可一定程度上解決多型引數的瓶頸,看具體使用場景了。

在c++11,可變引數有更好的模板支援,後面環境支援,再試一下。

C 之 可變引數的使用 井號

字串化 字元連線 巨集展開有順序,且只展開一次 define conn x,y x y define tochar x x define tostring x xx y表示x連線y int n conn 123,456 結果就是n 123456 char str conn asdf adf 結果就是...

c語言可變參函式之引數指標的使用

c語言中的可變參函式的定義,在這就不多贅述了。在檢視c語言資料時,發現了乙個博主的文章挺不錯,很詳細,也很流暢。但在可變參函式的例子中,發現結果錯的,經過查詢其他資料,寫了乙個執行結果正確的例子,特此記錄一下。利用可變參函式,實現多個值的加和,直接上經我驗證的 計算可選引數之和 可變參函式 coun...

C 11 14之可變參類模板與模板模板引數

通過tuple和遞迴呼叫展開引數包 總結模板 模板引數 組合關係 復合關係 class bclass a組合關係展開引數包案例template typename first,typename.others class myclass myclass first parf,others.paro m ...