我正在開發一個 C 程式。對于一個用例,我有一個派生自其模板類的類。所以,我想知道我們如何在派生類方法中呼叫基類方法?
例子:
template <typename base>
struct derived : public base
{
void aFunction()
{
// need to call a base function() here
}
};
其中一種方式可能是類似的base::aBaseFunction(),但我不確定?
我是 OOP 編程的新手,所以期待通過這個問題陳述學習一個新概念。
uj5u.com熱心網友回復:
如果您想顯式使用基的成員,請像您發現的那樣顯式指定型別:
template <typename base>
struct derived : public base
{
void aFunction()
{
base::function();
}
};
如果您希望使用通常的非限定查找行為,請this改為明確:
template <typename base>
struct derived : public base
{
void aFunction()
{
this->function();
}
};
這兩者的行為與在非模板中的行為完全相同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453137.html
上一篇:創建沒有其建構式引數的類變數
下一篇:處理靜態變數時的棘手繼承問題
