網站首頁 編程語言 正文
文章目錄
- 1.初始化列表
- 2.static成員
1.初始化列表
初始化列表:以一個冒號開始,接著是一個以逗號分隔的數據成員列表,每個"成員變量"后面跟一個放在括號中的初始值或表達式。
class Date
{
public:
Date(int year = 1, int month = 1, int day = 1)
: _year(year)
, _month(month)
, _day(day)
{}
private:
int _year;
int _month;
int _day;
};
注:
- 每個成員變量在初始化列表中只能出現一次(初始化只能初始化一次)
- 類中包含以下成員,必須放在初始化列表位置進行初始化:
引用成員變量
const成員變量
自定義類型成員(該類沒有默認構造函數)
class A
{
public:
A(int a)
:_a(a)
{}
private:
int _a;
};
class B
{
public:
B(int a, int b)
:_a(a)
,_b(b)
,_n(10)
{}
private:
A _a; // 沒有默認構造函數
int& _b; // 引用
const int _n; // const
};
綜上:盡量使用初始化列表初始化
tips:
成員變量在類中聲明次序就是其在初始化列表中的初始化順序,與其在初始化列表中的先后次序無關
class A
{
public:
A(int a)
:_a1(a)
,_a2(_a1)
{}
void Print() {
cout<<_a1<<" "<<_a2<<endl;
}
private:
int _a2;
int _a1;
};
int main() {
A aa(1);
aa.Print();
}
2.static成員
特性:
-
靜態成員為所有類對象所共享,不屬于某個具體的實例
-
靜態成員變量必須在類外定義,定義時不添加static關鍵字
class A
{
private:
static int _a;
};
int A::_a = 0;
- 類靜態成員即可用類名::靜態成員或者對象.靜態成員來訪問
class A
{
public:
static int _a;
};
int A::_a = 0;
int main()
{
cout << A::_a << endl;
return 0;
}
-
靜態成員函數沒有隱藏的this指針,不能訪問任何非靜態成員
-
靜態成員和類的普通成員一樣,也有public、protected、private 3種訪問級別,也可以具有返回值
原文鏈接:https://blog.csdn.net/zjq_love/article/details/124984040
- 上一篇:string類的模擬實現
- 下一篇:Apriori算法的實現
相關推薦
- 2022-04-07 C#實現Socket服務器及多客戶端連接的方式_C#教程
- 2022-09-20 Redis深入了解內存淘汰與事務操作_Redis
- 2022-11-23 GoLang?unsafe包詳細講解_Golang
- 2021-12-23 使用go?net實現簡單的redis通信協議_Golang
- 2023-01-26 C#實現Word轉換TXT的方法詳解_C#教程
- 2022-08-19 Python包中__init__.py文件的作用與用法實例詳解_python
- 2022-08-10 Pandas?reindex重置索引的使用_python
- 2022-11-20 spring?boot集成redis基礎入門實例詳解_Redis
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支