C++类构造函数与析构函数
生活随笔
收集整理的這篇文章主要介紹了
C++类构造函数与析构函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++類的構造函數和析構函數
一、構造函數
構造函數在類的對象被創建時,自己調用,不可以顯式調用。通常用構造函數來做一些初始化的工作。
構造函數又分為兩類:
無參數的構造函數的實例:
#include <iostream> using namespace std;class Line {public:void setL(int l);int getL();Line();private:int length; };Line::Line(void) {cout << "創建了一個對象\n" << endl; }void Line::setL(int l) {length = l; } int Line::getL() {return length; }int main() {Line line;line.setL(10);printf("The line's length is:%d",line.getL());return 0; }其運行結果為:
創建了一個對象The line's length is:10不帶參數的構造函數相對來說還是比較簡單的。下面來看一下帶有參數的構造函數:
#include <iostream> using namespace std;class Line {public:void setL(int l);int getL();Line(int l);private:int length; };Line::Line(int l) {length = l;cout << "創建了一個對象,并賦初值\n" << endl; }void Line::setL(int l) {length = l; } int Line::getL() {return length; }int main() {Line line(3);printf("The line's length is:%d\n",line.getL());line.setL(10);printf("The line's length is:%d",line.getL());return 0; }運行結果如下:
創建了一個對象,并賦初值The line's length is:3 The line's length is:10同時也可用初始化列表的形式來初始化字段,只需要更改Line::Line(int l)這個函數的樣子即可:
Line::Line(int l):length(l) {cout << "創建了一個對象,并賦初值\n" << endl; }二、析構函數
析構函數用于對象被銷毀時,釋放內存空間,處理緩存垃圾等。同時析構函數與構造函數同樣,不可以被顯式調用。
#include <iostream> using namespace std;class Line {public:void setL(int l);int getL();Line(int l);~Line(void);private:int length; };Line::Line(int l):length(l) {cout << "創建了一個對象,并賦初值\n" << endl; }Line::~Line(void) {cout << "對象已經被銷毀\n" << endl; }void Line::setL(int l) {length = l; } int Line::getL() {return length; }int main() {Line line(3);printf("The line's length is:%d\n",line.getL());line.setL(10);printf("The line's length is:%d\n",line.getL());return 0; }運行的結果為:
創建了一個對象,并賦初值The line's length is:3 The line's length is:10 對象已經被銷毀總結
以上是生活随笔為你收集整理的C++类构造函数与析构函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解linux下top命令的使用
- 下一篇: 关于Linux的缓存内存 Cache M