컴공 일기55
게시글 주소: https://orbi.kr/00057028365
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class CShape{
protected:
int x,y;
public:
CShape(int a, int b) : x(a), y(b) {}
virtual void Print() {}
};
template<typename T>
class CCircle : public CShape{
private:
T Radius;
public:
CCircle(int a, int b, T r) : CShape(a,b), Radius(r) {}
double GetArea() { return Radius * Radius * 3.14;}
void Print() { cout << “Area :” << CCircle<T>::GetArea() << endl;}
template <typename U>
friend ostream& operator<<(ostream& out, CCircle<U>& rhs);
bool operator<(CCircle<T>& rhs){
if(Radius < rhs.Radius)
return true;
else
return false;
}
bool operator == (CCircle<T> rhs)
{
if(this->Radius == rhs.Radius)
return true;
else
return false;
}
};
template <typename U>
ostream& operator<<(ostream& out, CCircle<U>& rhs)
{
rhs.Print();
return out;
}
template <typename T>
void printccircle(T &rhs) {cout << “Area : “ << rhs.GetArea() << endl;}
int main(){
vector<CCircle<double> > cirv;
vector<CCircle<int> > cirint;
vector<CCircle<double> >::iterator viter;
for(int i=0; i<5; i++)
{
cirv.push_back(CCircle<double>(1,1,1.1+i));
cirint.push_back(CCircle<int>(1,1,1+i));
}
for_each(cirv.begin(), cirv.end(), printccircle<CCircle<double>>);
for_each(cirint.begin(), cirint.end(), printccircle<CCircle<int>>);
viter = find(cirv.begin(), cirv.end(), CCircle<double>(1,1,1.1+4));
cout << *viter;
random_shuffle(cirv.begin(), cirv.end());
sort(cirv.begin(), cirv.end());
cout << *cirv.begin();
return 0;
}
가상함수의 의미, 이터레이터 활용, STL의 전반적 이해도, polymorphism, 탬플릿 문법, 생성자 함수의 기본적 형식…
모든 것들이 다 들어있는 예제네요.
오늘은 하루 죙일 코딩만 했습니다. 가끔은 컴퓨터에 미쳐있어야, 실력이 또 늘테니까요.
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
와...
으어어억 어려웠던 만큼 요구조건을 모두 만족시키고 나면 뿌듯한 느낌이 있는 것 같아요 ㅎㅎ 그 맛에
컴퓨터 앞에 계속 앉아 있게 되는 듯 합니다 :) 한 2시간30분 걸린 것 같아요!
정말 열정적이신 분이네요...이런 열정은 어디에서 나오나요?
돈도 못 벌고, 인생 망해도 좋은데 코딩이 재미있다는 그 하나의 가능성과 순수?
승부욕이 나게 되어요 ㅎㅎ 이 문제 내가 오늘 풀 때까지 안 잔다고 마음 먹으면
하루 6시간은 금방 가곤 하지요. 물론, 실력이 일단 굉장히 부족하기 때문에 그런 것이지만
재미있다는 그 감정 하나로 전공하고 있습니다 :-)

게시글 누르자마자 딱 어질어질해졌어요...거의 컴퓨터랑 소통을 하는 수준이네요 ㅋㅋㅋ 수학도 아니고 컴퓨터 언어를 저렇게 자유자재로 구사하시는 게 신기하네요!!
하루종일 하셨을 것 같은데 수고하셨구 좋은 밤 되세요
기본적으로 수학도 있지만, 논리적 사고력이 더 중요합니다. C++이라는 언어는 더더욱 그런 듯 해요 :)
공학도들은 컴퓨터와의 대화를 이것보다 더 깊게 하지요. 저도 아직은 피래미에 불과합니다..!

헉 하루 종일 모니터 보면 눈하고 머리하고 어께 다 뭉치고 아플텐데..ㅠㅠ 모니터 오래 보면서 공부하시느라 수고 너무 많으셨습니다 컴공주님자기 전에 스트레칭 가볍게 해도 좋을거 같네요 ㅎㅎ
오늘도 좋은 꿈 꾸세요!
안 그래도, 요새 두통이나 안압이 약간 올라가서 피로가 많이 쌓였더라구요. 말씀 주신대로, 스트레칭도 운동도 많이 많이 해야할 것 같아요! 종강하는 순간 일주일 동안은 침대와 자연에 몸을 맡겨볼까 합니다 ㅎㅎ 조언 감사드려요! 보라새님 오늘도 굿밤되세용!