๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š” ์„ธ์ƒ ์†์—์„œ ๋‚˜์˜ ์ƒํ™œ์„ ๊ธฐ๋กํ•˜๊ณ , ๋‚˜๋งŒ์˜ ์†Œ์ค‘ํ•œ ์ˆœ๊ฐ„๋“ค์„ ๋‹ด์•„๋‚ด์–ด ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋น ๋ฅด๊ฒŒ ๋ณ€ํ™”ํ•˜๋Š” ์„ธ์ƒ ์†์—์„œ ๋‚˜์˜ ์ƒํ™œ์„ ๊ธฐ๋กํ•˜๊ณ , ๋‚˜๋งŒ์˜ ์†Œ์ค‘ํ•œ ์ˆœ๊ฐ„๋“ค์„ ๋‹ด์•„๋‚ด์–ด ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.
  • Life is Simple..โค๏ธŽ
# PRIVATE

๋‚ด๊บผ ํƒฌํ”Œ๋ฆฟ

by ROHA__ 2010. 9. 6.


 
#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();
};
template <typename T>
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;
}



 

728x90
๋ฐ˜์‘ํ˜•
SMALL

'# 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