0

今まで見たことのないものに出くわしただけです。次のクラスがあるとします。

class foo
{
    const bar* get() const;
    bar* get();
}

foo のクライアントは、どの get() メソッドを使用するかをどのように決定できますか?

4

1 に答える 1

8

nessの他のオーバーロードと同様に、関数が呼び出されるオブジェクトへのアクセス パス (つまり、暗黙的なパラメーターconstの型) に依存します。this

例:

void bar(foo nc1, foo &nc2, foo *nc3, const foo &c1, const foo *c2) {
  // These call the non-const version:
  nc1.get();
  nc2.get();
  nc3->get();

  // These call the const version:
  c1.get();
  c2->get();
}
于 2013-06-04T07:12:20.907 に答える