アプリ版:「スタンプのみでお礼する」機能のリリースについて

オーバライド関数について質問があります。
以下のようなクラスAとBがあります。
クラスAは基本クラスです。
クラスBはクラスAから導出しました。
------------------------------------
CLASS A
{
public:
virtual void func(char* p, ...);
}
------------------------------------
CLASS B : public A
{
public:
void func(char* p, ...);
}
------------------------------------
メンバ関数の func() はオーバライド関数で、可変長の引数を持っています。

今、クラスBの func() の中で、クラスAの func() をコールするようにコーディングしました。
-----------------------------------
void B::func(char* p, ...)
{
:
:

A::func( ???? )

:
:
}
-----------------------------------
ところが、クラスBの func()が受け取った引数を、そのままクラスAの func() に渡したいのですが、どうしたらいいのか分かりません。これって無理でしょうか?

教えて下さい。

A 回答 (1件)

私は詳しくないですが、別のメーリングリストで過去に同様の議論


がされています。このアーカイブがちょっと大きいのですが、
参考URLのところから、
「可変引数をもつ仮想関数のオーバーライド方法について」という
記事(番号7433)を探してみてください。
結果としては、難しそうな雰囲気です。

参考URL:http://venus13.aid.kyushu-id.ac.jp/ml-arc/builde …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!