C++构造函数和析构函数的学习(一)
? ? 構造函數是類中特殊的成員函數。
? ? 創建類類型的新對象的,系統會自動調用構造函數。
? ? 構造函數的調用是為了保證每個數據成員都能被正確初始化。
? ? 構造函數的作用初始化。
? ? 通常情況下,構造函數應聲明為公有函數,構造它不能像其他成員函數那樣被顯式的調用。
? ? 構造函數被聲明為私有有特殊的用途。
? ? 構造函數可以有任意類型和任意個數的參數,一個類可以有多個構造函數。
? ??如果程序未聲明構造函數,默認會生成一個空的構造函數。
? ??不帶參數的構造函數稱為默認構造函數。
? ? 如果有一個構造函數,系統不再生成默認構造函數
?
Test.h
Test.cpp
main.cpp
?
?運行結果:
?// ? ?如果有一個構造函數,系統不再生成默認構造函數
?
Test.h
Test.cpp
main.cpp
?
?運行結果:
?
?
構造函數重載的實例:
?
Test.h
Test.cpp
main.cpp
?運行結果:
?
?構造函數與new運算符
Test.cpp
main.cpp
?
運行結果:
?
//全局對象的構造先于main函數?
?
Test.cpp
?
main.cpp
運行結果:
?
?
? ? 默認析構函數是一個空函數
? ? 析構函數沒有參數
? ? 析構函數不能被重載
?
? ? 析構函數與數組
Test.h
Test.cpp
?
main.cpp
運行結果:
? ? 析構函數不能重載
?
? ? 析構函數不能帶參數,如果帶參數就可以重載
?
? ? 析構函數可以顯式調用,一般很少用到,會實現一些特殊的效果:
?
轉載于:https://blog.51cto.com/liam2199/1172398
總結
以上是生活随笔為你收集整理的C++构造函数和析构函数的学习(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: U盘启动盘制作方法 2种绝招轻松搞定
- 下一篇: msyql主从同步实践