构造函数初始化结构体
生活随笔
收集整理的這篇文章主要介紹了
构造函数初始化结构体
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
構造函數初始化結構體
雖然初始化列表易于使用,但它有兩個缺點:
如果有某個成員未被初始化,那么在這種情況下,跟隨在該成員后面的成員都不能初始化。
如果結構體包括任何諸如字符串之類的對象,那么在許多編譯器上它都將無法運行。
在這些情況下,可以使用構造函數來初始化結構體成員變量,這和初始化類成員變量是相同的。與類構造函數一樣,結構體的構造函數必須是與結構體名稱相同的公共成員函數,并且沒有返回類型。因為默認情況下,所有結構體成員都是公開的,所以不需要使用關鍵字 public。
以下是一個名為 Employee 的結構體的聲明語句,它包含一個具有兩參數的構造函數,以便在創建一個 Employee 變量而不向其傳遞任何參數時,提供默認值:
struct Employee
{
string name; // 員工姓名
int vacationDays, // 允許的年假
daysUsed; //已使用的年假天數
Employee (string n ="",int d = 0) // 構造函數
{
name = n;
vacationDays = 10;
daysUsed = d;
}
};
總結
以上是生活随笔為你收集整理的构造函数初始化结构体的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于__VA_ARGS__的说明
- 下一篇: RHEL在VM虚拟机下仅主机模式不能联网