#include<iostream>
using namespace std;
template<typename T> //T๋ ๋ฐ๊ฟ๋ ์๊ด์์, 2,3๊ฐ๋ฅผ ํด๋ OK! ํญ์๋ฐ๋ณต!!!!
class Foo
{
private:
T date;
public: //์์ฑ์
Foo(T d);
void SetDate(T d);
T GetDate();
}; // Foo์ ๋ํ ์ ์ธ๋ถ๋ถ๋ง ์์!
template<typename T>
Foo<T>::Foo(T d) // ์ ํ์ ํญ์! ๋๊ฐ์ด
{
date = d;
}
template<typename T>
void Foo<T>::SetDate(T d) //๋ฆฌํดํ์
void
{
date = d;
}
template<typename T>
T Foo<T>::GetDate() // ๋ฆฌํดํ์
T, T GetDate();์ ์ธ์๊ฐ ์์ด์!
{
return date; // T date; ์ฌ์! return ๊ฐ์ด date!
}
int main()
{
Foo<int> d1(0); //Foo<int>ํด์ฃผ๊ณ ! ๊ฐ์ฒด๋ณ์ ์ด๊ธฐํํด์ฃผ๊ธฐ!
d1.SetDate(10); // int๋ก ํด์คฌ๊ธฐ์ (10)์ด ๊ฐ๋ฅํ๊ฑฐ์!
cout << "d1.GetDate : " << d1.GetDate() << endl;
Foo<char> d2('a'); //Foo<char>ํด์ฃผ๊ณ ! ๊ฐ์ฒด๋ณ์ ์ด๊ธฐํํด์ฃผ๊ธฐ! ๊ธ์จ์๋ ''ํด์ฃผ๊ธฐ!
cout << "d2.GetData : " << d2.GetDate() << endl;
return 0;
}
#include <iostream>
using namespace std;
template <typename T> //T๋ ์๋ฌด๊ฑฐ๋ ํด๋๋จ
class Foo
{
private:
T data;
public:
Foo(T d);
void SetData(T d);
T GetData();
Foo<T>::Foo(T d)
{
data = d;
}
template <typename T>
void Foo<T>::SetData(T d)
{
data = d;
}
template <typename T>
T Foo<T>::GetData()
{
return data;
}
int main()
{
Foo<int> d1(0);
d1.SetData(10); //Foo<int> d1(0);๊ฐ int ๊ฐ์ด๋ฏ๋ก d1.SetData(10);์ 10
cout << d1.GetData() << endl;
Foo<char> d2('a');
cout << d2.GetData() << endl;
return 0;
}
'# PRIVATE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
2010๋ 09์ 09์ผ (0) | 2010.09.09 |
---|---|
2010๋ 09์ 06์ผ ์์์ผ (0) | 2010.09.06 |
5 static ์ฐ์ต2 (0) | 2010.09.06 |
4 static (0) | 2010.09.06 |
JAVA (0) | 2010.09.02 |