#include #include #include #include #include #define pi 3.1416
using namespace std;
class shape//定義抽象基類
//建構函式
virtual double getarea() const =0;//純虛函式
virtual ~shape() {}//虛析構函式
};double totalarea(const vector& p)//求面積和
class circle : public shape//圓繼承基類shape
//建構函式,初始化半徑
virtual double getarea() const//返回圓的面積
};class rectangle : public shape//長方形繼承基類shape
//建構函式,初始化長和寬
virtual double getarea() const//返回長方形的面積
};class ******** : public shape//三角形繼承基類shape
virtual double getarea() const//返回三角形的面積
};int main()
}cout.precision(4);
cout << fixed << totalarea(p) << endl;
for(int i=0;idelete p[i];
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 ...