現附上乙個簡單的小例子(計算圓柱體體積)
#include
using
namespace std;
//計算圓柱體體積
class
cylinder
//圓柱體
;cylinder::
cylinder()
//建構函式
double cylinder::
getindex()
intmain()
在這個案例中,類cylinder中宣告了析構函式~cylinder,卻沒有在後面給出析構函式的定義,從而導致程式報錯
如何修改錯誤呢?
大家只需要把析構函式的宣告去掉就可以了!
大家可以參考這篇部落格:c++建構函式、析構函式、複製(拷貝)建構函式的注意點
C語言函式只定義而不宣告問題
2010 04 27 10 40 42 小白實驗證明,tc3.0中,不寫函式宣告,只寫函式定義也是可以的。但是 申明 不開闢記憶體,僅僅告訴編譯器,申明的部分存在,要預留一點空間。定義 開闢記憶體。申明 屬於 預編譯範疇的。最好寫在標頭檔案中 樓主,自定義標頭檔案學了沒有啊?申明都寫在標頭檔案中,只...
C 析構函式的定義和使用
析構函式 destructor 也是乙個特殊的成員函式,它的作用與建構函式相反,它的名字是類名的前面加乙個 符號。在c 中 是位取反運算子,從這點也可以想到 析構函式是與建構函式作用相反的函式。當物件的生命期結束時,會自動執行析構函式。具體地說如果出現以下幾種情況,程式就會執行析構函式 如果在乙個函...
c 析構函式為虛函式的問題
昨天去xx公司面試,面試官問了乙個關於c 類析構函式為虛函式時,如果是父類的指標用子類來new,如果發生析構時,析構函式是virtual與不是virtual有什麼區別。當時答的不好,回來總結了一下,在機器上實現了一遍,終於搞明白了。記錄下來,以後遇到這種情況自己一定不要犯錯了 一 先看第一種最簡單的...