日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C++类构造函数与析构函数

發布時間:2025/3/15 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++类构造函数与析构函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++類的構造函數和析構函數

一、構造函數

構造函數在類的對象被創建時,自己調用,不可以顯式調用。通常用構造函數來做一些初始化的工作。
構造函數又分為兩類:

1. 無參數的構造函數2. 帶參數的構造函數

無參數的構造函數的實例:

#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++类构造函数与析构函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。