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
using
namespace
std;
template
<
typename
t>
class
data
data(t t) : value(t) {}
bool
operator > (
const
datad)
bool
operator < (
const
datad)
t operator + (
const
datad)
friend
ostream& operator<<(ostream &output,
const
datad)
void
setvalue(t t)
t getvalue()
};
template
<
typename
t>
class
getresult
return
d;
}
static
datagetmax(data*arr,
int
num)
datad(t);
return
d;
}
static
datagetmin(data*arr,
int
num)
datad(t);
return
d;
}
};
int
main()
else
if
(ch ==
'd'
)
}
if
(ch ==
'i'
)
else
if
(ch ==
'd'
)
}
return
0;
}
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 ...