7.當乙個類的某個函式被說明為virtual時,該函式在該類的所有派生類中(a)
a. 都是虛函式
b. 只有被重新說明時才是虛函式
c. 只有被重新說明virtual時才是虛函式
d. 都不是虛函式
例一:
#include
const double pl=3.14;
class shape //定義乙個圖形類
;class circle:public shape
circle(double rr)
virtual double area() //在派生類中實現求面積的功能
virtual void shapename() //在派生類中輸出圖形的名稱
};class rectangle:public shape
rectangle(double xx,double yy)
virtual double area() //在派生類中實現求面積的功能
virtual void shapename() //在派生類中輸出圖形的名稱
};
void main()
;class circle:public shape
circle(double rr)
double area()
void shapename()
};
class rectangle:public shape
rectangle(double xx,double yy)
double area()
void shapename()
};
void main()
{shape *p;
circle c(2);
rectangle r(3,4);
p=&c;
p->shapename();
cout<<"area="cout<<"area="程式結果:this is a circle.area=12.56
this is a rectangle.area=12
注釋:
定義派生類中的虛函式時,可以省略關鍵字virtual,但提倡不省略.
當乙個類的某個函式被說明為virtual時,該函式在該類的所有派生類中都是虛函式.
從兩個例子分析C語言的宣告
從兩個例子分析c語言的宣告 在讀 c專家程式設計 一書的第三章時,書中談到c語言的宣告問題,c專家程式設計 這本書只有兩百多頁,卻花了一章的內容去闡述這個問題,足以看出這個問題的重要性,要想透徹理解c語言的宣告問題僅僅看書是遠遠不夠的,需要平時多實踐並大量閱讀別人寫的 下面借鑑 c專家程式設計 書中...
關於演算法的兩個例子
def brute force li,target n len li for i in range 0,n for j in range i 1,n if li i li j target return i,jdef bin search li,val low 0 high len li 1 whi...
學習shell程式設計的兩個例子
例子一 繪製特殊圖形 如下 bin bash max no 0 echo n enter number between 5 to 9 read max no if max no ge 5 a max no le 9 then echo wtf.i ask to enter number betwee...