c++ 類中const成員變量的賦值方法
在頭文件的類的定義中定義了一個(gè)const成員變量c++ 規(guī)則:
1、類定義中不能進(jìn)行初始化,因?yàn)轭^文件中類的定義只是一個(gè)聲明,并沒(méi)有分配真正空間,因此變量是不存在的,因此是不能賦值的。
2、const 定義的變量是不能賦值
這可如何是好,聲明中不能賦值,聲明完還不能賦值。又不能不賦值。
解決方案:
1、在構(gòu)造函數(shù)后的參數(shù)初始化列表中初始化
2、將const變量同時(shí)聲明為 static 類型進(jìn)行初始化。
Eg:
#include <iostream> class CTestA { public: CTestA():m_iSIZE(20) // method 1 { } ~CTestA() { } int GetSize() { return m_iSIZE; } private: const int m_iSIZE; }; class CTestB { public: CTestB() { } ~CTestB() { } int GetSize() { return m_iSIZE; } private: static const int m_iSIZE; }; const int CTestB::m_iSIZE = 3; // method 2 int main() { CTestA oTestA; CTestB oTestB; std::cout<<"oTestA:"<<oTestA.GetSize()<<std::endl<<"oTestB:"<<oTestB.GetSize()<<std::endl; return 0; }
以上這篇c++ 類中const成員變量的賦值方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++實(shí)現(xiàn)LeetCode(26.有序數(shù)組中去除重復(fù)項(xiàng))
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(26.有序數(shù)組中去除重復(fù)項(xiàng)),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07opencv3/C++視頻中疊加透明圖片的實(shí)現(xiàn)
今天小編就為大家分享一篇opencv3/C++視頻中疊加透明圖片的實(shí)現(xiàn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12C語(yǔ)言三子棋的實(shí)現(xiàn)思路到過(guò)程詳解
所謂三子棋,就是三行三列的棋盤,玩家可以和電腦下棋,率先連成三個(gè)的獲勝。這篇文章主要為大家詳細(xì)介紹了如何通過(guò)C語(yǔ)言實(shí)現(xiàn)三子棋小游戲,感興趣的小伙伴可以嘗試一下2023-02-02C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的SOAP客戶端
這篇文章主要介紹了C++實(shí)現(xiàn)一個(gè)簡(jiǎn)單的SOAP客戶端,在C++中,一般使用gSOAP來(lái)實(shí)現(xiàn)客戶端、服務(wù)端,下面一起進(jìn)入文章了解具體內(nèi)容,需要的朋友可以參考一下2021-11-11OpenCV + MFC實(shí)現(xiàn)簡(jiǎn)單人臉識(shí)別
這篇文章主要為大家詳細(xì)介紹了OpenCV + MFC實(shí)現(xiàn)簡(jiǎn)單人臉識(shí)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08