?? c17_06.cpp
字號:
// 純虛函數的使用
#include <iostream >
using namespace std;
const double PI = 3.14159;
class CShape //定義一個抽象類
{
public:
virtual float area() = 0; //聲明為純虛函數
virtual void print() = 0; //聲明為純虛函數
};
class CCircle: public CShape
{
public:
CCircle( float r ): m_rad(r) {}
float area() { return PI * m_rad * m_rad; }
void print()
{
cout << " 圓的面積是:" <<area() << endl;
}
private:
float m_rad; //圓的半徑
};
class CRectangle: public CShape
{
public:
CRectangle( float w, float h ): m_wid(w), m_hig(h) {}
float area() { return m_wid * m_hig; }
void print()
{
cout << " 矩形的面積是:"<< area() << endl;
}
private:
float m_wid, m_hig; //矩形的長和寬
};
int main()
{
CShape *layoutptr[2]; //定義一個基類類型的指針數組
layoutptr[0] = new CCircle(3); //可以讓基類類型的指針指向派生類對象
layoutptr[1] = new CRectangle(2,4); //可以讓基類類型的指針指向派生類對象
for(int i=0;i<2;i++)
{
layoutptr[i]->print();
delete layoutptr[i]; // 釋放占用的資源
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -