C++結(jié)構(gòu)體用法實例分析
本文實例講述了C++結(jié)構(gòu)體用法。分享給大家供大家參考。具體分析如下:
C++結(jié)構(gòu)體提供了比C結(jié)構(gòu)體更多的功能,如默認(rèn)構(gòu)造函數(shù),復(fù)制構(gòu)造函數(shù),運算符重載,這些功能使得結(jié)構(gòu)體對象能夠方便的傳值。
比如,我定義一個簡單的結(jié)構(gòu)體,然后將其作為vector元素類型,要使用的話,就需要實現(xiàn)上述三個函數(shù),否則就只能用指針了。
#include <vector>
using namespace std;
struct ST
{
int a;
int b;
ST() //默認(rèn)構(gòu)造函數(shù)
{
a = 0;
b = 0;
}
void set(ST* s1,ST* s2)//賦值函數(shù)
{
s1->a = s2->a;
s1->b = s2->b;
}
ST& operator=(const ST& s)//重載運算符
{
set(this,(ST*)&s)
}
ST(const ST& s)//復(fù)制構(gòu)造函數(shù)
{
*this = s;
}
};
int main()
{
ST a ; //調(diào)用默認(rèn)構(gòu)造函數(shù)
vector<ST> v;
v.push_back(a); //調(diào)用復(fù)制構(gòu)造函數(shù)
ST s = v.at(0); //調(diào)用=函數(shù)
cout << s.a <<" " << s.b << endl;
cin >> a.a;
return 0;
}
希望本文所述對大家的C++程序設(shè)計有所幫助。
- 深入了解C++ 結(jié)構(gòu)體(struct)與共用體(union)
- C++結(jié)構(gòu)體數(shù)組實現(xiàn)貪吃蛇
- 詳解C++程序中定義struct結(jié)構(gòu)體的方法
- 深入剖析C++中的struct結(jié)構(gòu)體字節(jié)對齊
- C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解
- 深入解析C++的WNDCLASS結(jié)構(gòu)體及其在Windows中的應(yīng)用
- C++動態(tài)分配和撤銷內(nèi)存以及結(jié)構(gòu)體類型作為函數(shù)參數(shù)
- 詳解C++中的指針結(jié)構(gòu)體數(shù)組以及指向結(jié)構(gòu)體變量的指針
- C++中結(jié)構(gòu)體的類型定義和初始化以及變量引用
- C++基礎(chǔ)入門教程(三):數(shù)組、字符串、結(jié)構(gòu)體、共用體
- c++ qsort 與sort 對結(jié)構(gòu)體排序?qū)嵗a
相關(guān)文章
簡要說明C語言中指針函數(shù)與函數(shù)指針的區(qū)別
這篇文章主要介紹了C語言中指針函數(shù)與函數(shù)指針的區(qū)別,指針函數(shù)和函數(shù)指針是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2016-04-04C語言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié)
這篇文章主要介紹了C語言中一些將字符串轉(zhuǎn)換為數(shù)字的函數(shù)小結(jié),分別為atoi()函數(shù)和atol()函數(shù)以及atof()函數(shù),需要的朋友可以參考下2015-08-08C語言開發(fā)實現(xiàn)井字棋及電腦落子優(yōu)化示例詳解
以前上課經(jīng)常和同桌玩起井字棋,那么我們就當(dāng)我們回憶童年,現(xiàn)在也用C語言來實現(xiàn)井字棋,本次代碼相對于初階的井字棋,在電腦下棋代碼部分做了優(yōu)化,使得電腦更加具有威脅2021-11-11基于C語言構(gòu)建一個獨立棧協(xié)程和共享棧協(xié)程的任務(wù)調(diào)度系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何基于C語言構(gòu)建一個獨立棧協(xié)程和共享棧協(xié)程的任務(wù)調(diào)度系統(tǒng),文中的示例代碼講解詳細(xì),需要的可以參考下2024-02-02