欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++ 虛函數(shù)的詳解及簡單實(shí)例

 更新時間:2017年06月28日 15:44:51   投稿:lqh  
這篇文章主要介紹了C++ 虛函數(shù)的詳解及簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下

C++ 虛函數(shù)的詳解

虛函數(shù)的使用和純虛函數(shù)的使用。

虛函數(shù)是在基類定義,然后子類重寫這個函數(shù)后,基類的指針指向子類的對象,可以調(diào)用這個函數(shù),這個函數(shù)同時保留這子類重寫的功能。

純虛函數(shù)是可以不用在基類定義,只需要聲明就可以了,然后因?yàn)槭羌兲摵瘮?shù),是不能產(chǎn)生基類的對象,但是可以產(chǎn)生基類的指針。

純虛函數(shù)和虛函數(shù)最主要的區(qū)別在于,純虛函數(shù)所在的基類是不能產(chǎn)生對象的,而虛函數(shù)的基類是可以產(chǎn)生對象的。

// pointers to base class 
#include <iostream> 
using namespace std; 
class Polygon { 
 protected: 
  int width, height; 
 public: 
  void set_values (int a, int b) 
   { width=a; height=b; } 
  virtual int area(){ 
    return 0; 
  } 
}; 
 
class Rectangle: public Polygon { 
 public: 
  int area() 
   { return width*height; } 
}; 
 
class Triangle: public Polygon { 
 public: 
  int area() 
   { return width*height/2; } 
}; 
 
int main(){ 
  Polygon *p1,*p2; 
  Rectangle rec; 
  Triangle tri; 
  p1 = &rec; 
  p2 = &tri; 
  p1->set_values(1,2); 
  p2->set_values(2,4); 
  cout << rec.area() << endl; 
  cout << tri.area() << endl; 
  cout << p1->area() << endl; 
  cout << p2->area() << endl; 
  return 0; 
} 

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

最新評論