好吧,真的是好久沒寫過這樣的**,弄得有些地方忘了......
在這裡,如果要把子類「賦值」給基類,可以用指標、或者引用
#include#include#include#include#includeusing namespace std;
class book
book &operator=(book &p)
return *this;
}virtual ~book(){};
//virtual ostream &operator<<(ostream &os)const=0;
virtual void display()=0;
virtual string type()=0;
virtual int gettol()=0;
virtual bool push(string s)=0;
virtual bool pop()=0;
};class st: public book
string type()
int gettol()
bool push(string s)
bool pop()
friend ostream &operator<<(ostream &os,st &tmp)
string type()
int gettol()
bool push(string s)
bool pop()
friend ostream &operator<<(ostream &os,dz &tmp)
cout<<"請輸入電子書籍名稱,輸入「exit」結束輸入"<>s)
//st *p=&tmp;
//dz *p1=&tmp1;
book &w=tmp; //這裡用的是引用
book &w1=tmp1;
w.display();
w1.display();
w.pop();
w1.pop();
cout
w1.display();
return 0;
}
虛函式 虛繼承
include using namespace std class a class b public a class c public b int main 結果是 4,4,4 為什麼?一,在private,protect,public的實際繼承中,派生類和基類擁有相同的虛函式表。但如果是虛繼承,會...
虛函式,虛繼承
1 空類,空類單繼承,空類多繼承的sizeof include using namespace std class base1 class base2 class derived1 public base1 class derived2 public base1,public base2 int m...
虛繼承 虛函式
1.虛繼承簡單的說就是如果有兩個類都繼承了同乙個基類 a 那麼,如果有第三個類又繼承了這兩個類,第三個類就會出現有 兩個基類 a 的情況,虛繼承就能避免這種情況。從實現 來看 普通繼承 普通繼承 沒有使用虛基類 基類a class a class b public a class c public ...