#include<iostream>
//using namespace std;
//////////////////////////////////////////////////////////////////////
// 접근 변경자!
//////////////////////////////////////////////////////////////////////
// 1. 부모의 멤버를 물려 받을때 접근 지정자를 변경해서 물려 받게 하는 기술
//////////////////////////////////////////////////////////////////////
/*
class A {
private: int a;
protected: int b;
public: int c;
};
class B : public A{
};
int main(){
A a;
B b;
a.c = 10;
b.c = 10;
}
*/
#include<list>
//////////////////////////////////////////////////////////////////////////////////////////////////////
//list 가 있다.
//그런데 스텍이 필요하다!
// 그럼 새롭게 만드는것보다 list를 한방향으로만 사용하면 stack 이다..list를 재사용하자
// LIST 클래스를 다른 클래스 stack 처럼 사용한다
//
//어댑터 패턴 : 기존 클래스의 인터페이스(함수 이름)을 변경해서 다른 클래스처럼 보이게 하는 디자인 기술.
//
//이럴때 list의 있는 함수는 쓰기 싫지만, 자신은 써야할떄 private 상속을 하면됨.
//private 상속 철학: 구현은 물려 받지만 (자식이 내부적으로 사용하지만 인터페이스는 물려받지 않겠다 :
// :부모함수를 노출하지는 않겠다.
//////////////////////////////////////////////////////////////////////////////////////////////////////
/*
using namespace std;
template<typename T> class stack : private list<T>{
public:
void push(const T &a) {push_back(a);}
void pop() {pop_back();}
T & top() {return back();}
};
int main(){
stack<int> s;
s.push(10);
cout << s.top()<<endl;
}
*/
/*
/////////////////////////////////////////////////////////////////////
//s/w 재사용에는 상속 뿐만 아니라 포함도 있다.
//int 형외에 벡터도 가져오고 싶은데
// 사용자편의를 위해서 디폴트를 int형으로 선언하고싶다!
//아래와같이 코딩함
/////////////////////////////////////////////////////////////////////
using namespace std;
template<typename T,typename C=deque<int>> class stack{
C st;
public:
void push(const T&a) {st.push_back(a);}
void pop() {st.pop_back();}
T & top() {return st.back();}
};
int main(){
stack<int> s;
s.push(10);
cout << s.top();
}
*/
'C,C++ > Android_FrameWork' 카테고리의 다른 글
[SSM 안드로이드 프레임워크 개발 강의]22. 범용적 함수 포인터와 bind (0) | 2012.08.15 |
---|---|
[SSM 안드로이드 프레임워크 개발 강의]21. 인터페이스와 인터페이스 탄생 배경 (0) | 2012.08.15 |
[SSM 안드로이드 프레임워크 개발 강의]19. 메모리 릭을 체크하는 헤더만들기(operator New , Delete) (0) | 2012.08.15 |
[SSM 안드로이드 프레임워크 개발 강의]18. New 연산자 이야기 (0) | 2012.08.15 |
[SSM 안드로이드 프레임워크 개발 강의]17. 변환 연산자와 변환 생성자. 그리고 활용. (0) | 2012.08.14 |