日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++类中不能定义自身类类型成员变量

發(fā)布時間:2024/4/18 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++类中不能定义自身类类型成员变量 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

類聲明:?
class dog; //類的聲明

類定義:?
class dog{ //類的定義

};

當用實例化一個類的對象時,編譯器會根據(jù)類的定義來分配相應的存儲空間?。

也就是說,在創(chuàng)建對象前,一定要有完整的類定義,這樣編譯器才能正確的計算所需空間。?
那么我們來看如下代碼:

class dog{?
dog tt; //error, ‘tt’ uses undefined class ‘dog’

};

上述代碼中,由于dog還沒有定義結束,在內(nèi)部定義一個dog類型的對象時,編譯器無法知道應該為tt分配多少內(nèi)存空間,因此會報注釋中的錯誤。

我們再看下面一段代碼:

class dog{?
dog *Zhlu; //ok?
dog& SKII; //ok?
};

在類定義時,定義指向自身類型的指針或引用作為內(nèi)部成員沒有問題,由于指針和引用所占存儲空間大小與類型無關,所以編譯器可以計算所需分配空間,所以正確。

這個跟鏈表定義一樣,

typedef struct LNode{
????ElemType data;
????struct LNode *next;
}LNode,*LinkList;
盡管鏈表節(jié)點類型還沒有定義結束,但是編譯器無需知道*next類型。
————————————————
版權聲明:本文為CSDN博主「ayoung_go」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權協(xié)議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/laoqiuge/article/details/82021789

總結

以上是生活随笔為你收集整理的C++类中不能定义自身类类型成员变量的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。