C++静态成员和非静态成员的区别 及修饰
生活随笔
收集整理的這篇文章主要介紹了
C++静态成员和非静态成员的区别 及修饰
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
版權(quán)聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉(zhuǎn)載。
1.數(shù)據(jù)成員可以分靜態(tài)變量、非靜態(tài)變量兩種.靜態(tài)成員:靜態(tài)類中的成員加入static修飾符,即是靜態(tài)成員.可以直接使用類名+靜態(tài)成員名訪問此靜態(tài)成員,因為靜態(tài)成員存在于內(nèi)存,非靜態(tài)成員需要實例化才會分配內(nèi)存,所以靜態(tài)成員不能訪問非靜態(tài)的成員..因為靜態(tài)成員存在于內(nèi)存,所以非靜態(tài)成員可以直接訪問類中靜態(tài)的成員.靜態(tài)成員在每個類中只有一個拷貝,是解決同一個類的不同對象之間數(shù)據(jù)和函數(shù)共享問題的。
?
?非成靜態(tài)員:所有沒有加Static的成員都是非靜態(tài)成員,當(dāng)類被實例化之后,可以通過實例化的類名進行訪問..非靜態(tài)成員的生存期決定于該類的生存期..而靜態(tài)成員則不存在生存期的概念,因為靜態(tài)成員始終駐留在內(nèi)容中..
?
?一個類中也可以包含靜態(tài)成員和非靜態(tài)成員,類中也包括靜態(tài)構(gòu)造函數(shù)和非靜態(tài)構(gòu)造函數(shù)..
2.
靜態(tài)成員函數(shù)可以直接引用該類的靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù),但不能直接引用非靜態(tài)數(shù)據(jù)成員和非靜態(tài)成員函數(shù),否則編譯報錯。如果要引用,必須通過參數(shù)傳遞的方式得到對象名,然后再通過對象名引用 [cpp] view plaincopyprint?那么可以得出結(jié)論,靜態(tài)成員和非靜態(tài)成員區(qū)別如下:1.訪問方式不一樣.靜態(tài)成員(通過類名.靜態(tài)成員名訪問).非靜態(tài)成員(通過對象名.非靜態(tài)成員名訪問)2.靜態(tài)成員屬于類.該類的所有對象共同擁有這一個成員.非靜態(tài)成員屬于對象,每個對象都有一份.靜態(tài)成員不論有類有多少個對象.只在內(nèi)存中分配一塊空間. 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎
總結(jié)
以上是生活随笔為你收集整理的C++静态成员和非静态成员的区别 及修饰的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件开发人员怎样走好从技术到管理之路?
- 下一篇: C++中WSAAsyncSelect模型