C++結(jié)構(gòu)體用法實(shí)例分析
本文實(shí)例講述了C++結(jié)構(gòu)體用法。分享給大家供大家參考。具體分析如下:
C++結(jié)構(gòu)體提供了比C結(jié)構(gòu)體更多的功能,如默認(rèn)構(gòu)造函數(shù),復(fù)制構(gòu)造函數(shù),運(yùn)算符重載,這些功能使得結(jié)構(gòu)體對(duì)象能夠方便的傳值。
比如,我定義一個(gè)簡單的結(jié)構(gòu)體,然后將其作為vector元素類型,要使用的話,就需要實(shí)現(xiàn)上述三個(gè)函數(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)//重載運(yùn)算符
{
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;
}
希望本文所述對(duì)大家的C++程序設(shè)計(jì)有所幫助。
- 深入了解C++ 結(jié)構(gòu)體(struct)與共用體(union)
- C++結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)貪吃蛇
- 詳解C++程序中定義struct結(jié)構(gòu)體的方法
- 深入剖析C++中的struct結(jié)構(gòu)體字節(jié)對(duì)齊
- C++中聲明類的class與聲明結(jié)構(gòu)體的struct關(guān)鍵字詳解
- 深入解析C++的WNDCLASS結(jié)構(gòu)體及其在Windows中的應(yīng)用
- C++動(dòng)態(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 對(duì)結(jié)構(gòu)體排序?qū)嵗a
相關(guān)文章
基于malloc與free函數(shù)的實(shí)現(xiàn)代碼及分析
本篇文章介紹了malloc與free函數(shù)的實(shí)現(xiàn)代碼及分析。需要的朋友參考下2013-05-05
c++中#include <>與#include""的區(qū)別詳細(xì)解析
<>先去系統(tǒng)目錄中找頭文件,如果沒有在到當(dāng)前目錄下找。所以像標(biāo)準(zhǔn)的頭文件 stdio.h、stdlib.h等用這個(gè)方法2013-10-10
C++應(yīng)用實(shí)現(xiàn)簡易五子棋游戲
這篇文章主要為大家詳細(xì)介紹了C++應(yīng)用實(shí)現(xiàn)簡易五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05

