原创 內存分配

#include <iostream>using namespace std; class A{ int x;public: void setname(int i) {x=i; cout<<x<<endl; }}; class B:pub

原创 不用指針只能調用基類

#include <iostream> using namespace std; class B { public: virtual void f() {cout<<"B::f"<<endl;} }; class D:public

原创 虛函數調用

#include <iostream> using namespace std; class B { public: void f() {g();} virtual void g() {cout<<"B::g";} }; clas

原创 構造函數和析構函數的調用次序

#include <iostream> using namespace std; class B { public: B() {cout<<"Constructing B"<<endl;} ~B() {cout<<"Destructi

原创 虛擬繼承的定義方式

#include <iostream> using namespace std; class A { public: void vf() {cout<<"I come from class A"<<endl;} }; class B