假設我有一個C++類X(一個Qt qobject,por例子)和一個方法,比方說,QMap handleDynMethods(QString別名)。如果x是X類的一個實例,我希望方法handleDynMethods(QString別名,QMap參數)在我執行x-> anyAliasName(參數)時產生x-> handleDynMethods(「anyAliasName」,參數)。是否有可能在C++ qt中做這樣的事情?可以在C++/qt類對象中動態地使用方法別名嗎?
謝謝, 萊安德羅。
假設我有一個C++類X(一個Qt qobject,por例子)和一個方法,比方說,QMap handleDynMethods(QString別名)。如果x是X類的一個實例,我希望方法handleDynMethods(QString別名,QMap參數)在我執行x-> anyAliasName(參數)時產生x-> handleDynMethods(「anyAliasName」,參數)。是否有可能在C++ qt中做這樣的事情?可以在C++/qt類對象中動態地使用方法別名嗎?
謝謝, 萊安德羅。
我覺得你說:
「假設我有一個C++類X,它繼承自QObject,具有如下的定義:」
class X : QObject
{
public:
QMap handleDynMethods(QString alias, QMap parameters);
};
「如果我有一個變量x是‘
:類X的一個實例。」X *x = new X();
’我可以用下面的語法調用handleDynMethods
方法0
QMap parameters;
x->anyAliasName(parameters);
「並把它作爲如果我這樣做:」
QMap parameters;
x->handleDynMethods("anyAliasName", parameters);
如果這是你所要求的,則沒有,這是不可能的,對不起。
旁註:你可以定義一個函數,如:
QMap anyAliasName(QMap parameters)
{
return handleDynMethods("anyAliasName", parameters);
}
,但我想你想的「anyAliasName」部分是動態的,這是不可能的。
嗨傑克,是的,這正是我所希望的......如果您必須編寫一個與我們討論的內容更接近的代碼,您將如何執行此操作? – 2010-08-28 19:08:31
看到我的帖子的底部,它下面寫着「旁註:你可以定義一個函數,如:」 – 2010-08-29 00:31:12
傑克,這是非常遠離我所需要的,這就是爲什麼我問了一個替代方案...無論如何。 – 2010-08-29 22:54:31
嘗試向我們展示代碼而不是解釋它。 – 2010-08-26 05:44:54