私が知っているように、参照はその存続期間中に 1 つのオブジェクトのみを参照できます..しかし、以下のコードは正しくコンパイルされます..参照されるオブジェクトを変更しましたが..出力は次のとおりです。どうすれば正しくコンパイルできますか?
ありがとう
class A{
private:
int a;
public:
A(int a):a(a){}
virtual ~A(){}
virtual void f()const {cout<<a<<endl;}
};
class B: public A{
private:
int b;
public:
B(int Ina,int Inb):A(Ina),b(Inb){}
virtual void f()const {cout<<b<<endl;}
};
int main(){
B b(1,2);
A a(5);
A& ref=a;
ref=b;
ref.f();
return 0;
}