は、私は次のコード namespace A {
int foo();
}
namespace B {
void foo();
}
using namespace A;
using namespace B;
int x = foo(); // error
を持っていると私はA::fooが本当に役立つものと同じ名前を持つ複数の宣言の一つを好むが、B::fooには
std::basic_iostream<char>を継承するストリームクラスのストリーム抽出演算子を実装しようとしています。 残念ながら私は本当に理解できないコンパイルエラーを受けます。 これは私の簡素化(非機能)コードです: C2678 binary '>>': no operator found which takes a left-hand operand of type 'MyStream
PHPは、図のように、あまりにも長い間その派生アクセスレベルが同じか、親のより弱いと、親フィールドをシャドウイングできます。1. 図1 class A {
protected $x;
function f() {
return $this->x;
}
}
class B extends A {
protected $x = 'foo';