C 學習筆記 寫個能夠關聯的整數類

2021-08-21 02:55:40 字數 1553 閱讀 2398

int main()
以上是主程式,需要寫個名為integer的類使得main函式能正常執行。

example input

1000 2000
example output

1000 2000

900 1900

1800 2800

本題主要考察兩個點,乙個是對於幾個操作符的過載,另乙個就是對於link函式的實現。我們這裡的link先考慮如果只用乙個指標來實現,也就是說每個integer物件只能和乙個相關聯。

#include #include using namespace std;

class integer

int getvalue() const

void setvalue(int x)

void operator -=(int n)

void operator +=(integer & x)

friend void link(integer & a, integer & b);

};void link(integer & a, integer & b)

istream & operator >> (istream & in, integer & x)

ostream & operator << (ostream & out, const integer & x)

這裡的set函式和get函式是為了類外面的輸入輸出操作符能夠訪問private變數而存在的;link宣告為友元函式也是為了寫在外面能夠訪問private變數。

那麼能否實現可以關聯多個變數呢,這裡就用到了存放指標的vector。

#include #include using namespace std;

class integer

int getvalue() const

void setvalue(int x)

void operator -=(int n)

} void operator +=(integer & x)

} friend void link(integer & a, integer & b);

};void link(integer & a, integer & b)

istream & operator >> (istream & in, integer & x)

ostream & operator << (ostream & out, integer & x)

int main() {

integer a, b, c;

cin >> a >> b >> c;

cout << a << " " << b << " " << c << endl;

link(a, b);

link(a, c);

a -= 100;

cout << a << " " << b << " " << c 《存放指標的vector就正常使用的就好。但是這裡是實現的關聯依然不具有傳遞性,如果想要具有傳遞性,恐怕還要有乙個函式將所有關聯的變數同步,依然很簡單,就不再贅述了。

學習寫個Sqlserver的幫助類

前兩天上課的內容總結了下,一般在連線層基本就呼叫那幾個類。一般包括system.data.sqlclient和system.data下的sqlconnection,sqlcommand,sqldatareader這三個類。如果,要想從配置檔案中讀取的話,還需要system.configuration...

C 學習筆記(8)寫個氣泡排序

1 氣泡排序的原理 氣泡排序的原理是反覆比較待排序陣列中所有相鄰的兩個資料,使他們按照公升序 或降序 排列。當待排序陣列中所有相鄰資料都比較過一次之後,待排序陣列中最小 或最大 的資料會被逐步交換到第一位,就像氣泡從水底慢慢公升到水面一樣,故名 氣泡排序演算法 2 演算法練習 氣泡排序口訣 n 個數...

c 關聯容器,雜湊學習筆記。

9.4 關聯容器 常用的兩個關聯容器set與map 關聯容器 associative container map中是 key value 鍵值對。set 每個元素只包含乙個關鍵字 2.map 關聯陣列,儲存鍵值對 例如 include include include include using na...