Problem E 數量的類模板

2021-08-20 03:18:36 字數 3234 閱讀 5734

time limit: 1 sec  

memory limit: 128 mb

submit: 2047  

solved: 1444 [

submit][

status][

web board]

定義乙個類模板data,用於包裝c++中的基本資料型別int和double。它包括:

1. 資料成員value為該物件所包裝的值。

2. 無參建構函式(初始化value為0)和帶參建構函式。

3. 過載的運算子:>、<、+以及<<。其中"+"返回和,不改變兩個運算元的值。

4. 成員函式setvalue用於設定value的值。

定義另乙個類模板getresult,它只有3個靜態成員函式(以下「t"為型別引數):

1. static datagetsum(data*arr, int num):求儲存在arr中的num個data物件的和,並返回由這個和構成的乙個data物件。

2. static datagetmax(data*arr, int num):求儲存在arr中的num個data物件的最大值,並返回這個最大值對應的物件。

3.  static datagetmin(data*arr, int num):求儲存在arr中的num個data物件的最小值,並返回這個最小值對應的物件。

輸入分多行。

第一行m>0表示有m個測試用例。

只有的m行,每行開始有乙個字母i或d,第二個是正整數n>0。如果第乙個字母是i,則表示本行包括n個int型別的資料;如果第乙個字母為d,則表示本行有n個double型別的資料。

除前6行輸出外,其他輸出的行數等於m。其中每一行輸出3個資料:對應測試用例的最大值、最小值以及和。實數輸出定點小數,且只輸出2位小數。

3i 3 1 2 3d 3 1.1 2.2 3.3i 1 10

a + b = 30max(a, b) = 20min(a, b) = 10c + d = -0.96max(c, d) = 3.14min(c, d) = -4.103 1 63.30 1.10 6.6010 10 10 [

submit][

status][

web board]

#include

usingnamespacestd;

template<typenamet>

classdata

data(t t) : value(t) {}

booloperator > (constdatad)

booloperator < (constdatad)

t operator + (constdatad)

friendostream& operator<<(ostream &output,constdatad)

voidsetvalue(t t)

t getvalue()

};

template<typenamet>

classgetresult

returnd;

}

staticdatagetmax(data*arr,intnum)

datad(t);

returnd;

}

staticdatagetmin(data*arr,intnum)

datad(t);

returnd;

}

};

intmain()

elseif(ch =='d')

}

if(ch =='i')

elseif(ch =='d')

}

return0;

}

Problem B 數量的類模板

time limit 1 sec memory limit 128 mb submit 476 solved 348 submit status web board 定義乙個類模板data,用於包裝c 中的基本資料型別int和double。它包括 1.資料成員value為該物件所包裝的值。2.無參建...

OJ 1390 Problem E 時間類的常量

description time time 無參構造方法。time time int,int,int 構造方法 傳遞時分秒的三個引數構造物件。time time const t 拷貝構造方法。成員讀函式 time hour 返回time的小時數 time minute 返回time的分鐘數 time...

類模板 模板類

下面定義的是類模板,用int例項化t後成為模板類。例項化類模板的語法 類名 模板實參表 結合下例即 array就是將類模板array例項化為模板類的語法。類模板 include using namespace std templateclass array array t operator int ...