メンバー関数はオーバーロードできますか?

青灯夜游
リリース: 2020-07-17 10:31:26
オリジナル
5913 人が閲覧しました

メンバー関数はオーバーロードできますが、メンバー関数はこのクラスの他のメンバー関数のみをオーバーロードできます。クラスのメンバー関数は、通常の非メンバー関数や他のクラスで宣言された関数とは関連がなく、オーバーロードできません。

メンバー関数はオーバーロードできますか?

#メンバー関数はオーバーロード可能

メンバー関数は、このクラスの他のメンバー関数のみをオーバーロードできます。クラスのメンバー関数は、通常の非メンバー関数や他のクラスで宣言された関数とは関連がなく、オーバーロードできません。オーバーロードされたメンバー関数には、通常の関数と同じルールが適用されます。2 つのオーバーロードされたメンバーの仮パラメーターの数と型は、まったく同じであってはなりません。非メンバーのオーバーロードされた関数の呼び出しに使用される関数一致プロセスは、オーバーロードされたメンバー関数の呼び出しにも適用されます。

オーバーロードされたメンバー関数を定義する

オーバーロードを説明するために、Screen クラスの 2 つのオーバーロードされたメンバーを指定して、ウィンドウから特定の文字を返すことができます。 2 つのオーバーロードされたメンバーのうち、1 つのバージョンは現在のカーソルによって示された文字を返し、もう 1 つのバージョンは指定された行と列の文字を返します。

class Screen {
public:
typedef std::string::size_type index;
// return character at the cursor or at a given position
char get() const { return contents[cursor]; }
char get(index ht, index wd) const;
// remaining members
private:
std::string contents;
index cursor;
index height, width;
};
ログイン後にコピー

他のオーバーロードされた関数と同様に、実際の適切な数と型を指定します。実行するバージョンを選択するパラメータ:

Screen myscreen;
char ch = myscreen.get();// calls Screen::get()
ch = myscreen.get(0,0); // calls Screen::get(index, index)
ログイン後にコピー

推奨チュートリアル: 「

c ビデオ チュートリアル

以上がメンバー関数はオーバーロードできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート