Notice
Recent Posts
Recent Comments
Link
- 책_곽용재님 홈페이지
- 책_노란북 - 책 가격비교
- 책_김재우-SICP번역
- 플밍_쏘쓰포지
- 플밍_CodingHorror ?
- 플밍_상킴
- 플밍_김민장님
- GPGStudy
- 플밍_미친감자님
- 플밍_jz
- 플밍_샤방샤방님
- 플밍_글쓰는프로그래머2
- 플밍_키보드후킹
- 사람_재혁
- 사람_kernel0
- 사람_박PD
- 사람_경석형
- 사람_nemo
- 사람_kikiwaka
- 사람_Junios
- 사람_harry
- 사람_어떤 개발자의 금서목록..
- 사람_모기소리
- 사람_낙타한마리
- 사람_redkuma
- 사람_영원의끝
- 사람_민식형
- 도스박스 다음카페
- 플레이웨어즈 - 게임하드웨어벤치마크
- http://puwazaza.com/
- David harvey의 Reading Marx's c…
- 씨네21
- 한겨레_임경선의 이기적인 상담실
- 본격2차대전만화 - 굽시니스트
- 영화_정성일 글모음 페이지
- 영화_영화속이데올로기파악하기
- 음식_생선회
- 죽력고
- 사람_한밀
- 플밍_수까락
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- BSP
- template
- 유시민
- 삼국지6
- 노무현
- 태그가 아깝다
- 고전강의
- 게임
- programming challenges
- 김두식
- c++
- modernc++
- 진중권
- 정성일
- stl
- 정신분석
- 유머
- 건강
- 단상
- 프로그래밍
- 소비자고발
- 강유원
- 고등학교 사회공부
- 진삼국무쌍5
- 책
- 영화
- 삼국지
- 인문학
- Programming
- 일리아스
Archives
- Today
- Total
01-07 02:28
lancelot.com
Base from member 본문
- 멤버 변수의 초기화를, 상속받는 부모클래스보다 먼저하고싶을때, 그 멤버 변수를 가지는 클래스를 만들어서, 부모클래스보다 앞에서 상속받으면 된다
- 이렇게까지 해야하는 곳이 있을까.. 싶고, 상속 순서에 따라 초기화가 결정되도록 하면, 나중에 복잡해질 경우에 문제가 생기지 않을까.. 싶기도 한데...
- 어쨌든 답답하면 써야지..ㅋ
#include<iostream>
class Buffer
{
public :
Buffer(std::size_t size) { std::cout << "Initialize Buffer" << std::endl; }
};
class Stream
{
public:
Stream(Buffer& buf) { std::cout << "Initialize Stream"<<std::endl; }
};
class PipeBuffer
{
protected:
Buffer buffer{ 1024 };
};
class PipeStream : public PipeBuffer, public Stream
{
public :
PipeStream() : Stream(buffer) {}
};
int main()
{
// buffer 를 외부에 먼저 만들어두고, stream에서는 그것을 받아서 사용하는 구조
Buffer buf(1024);
Stream s(buf);
// Base from member
// PipeStream 은 buffer를 자기가 가지고 싶다면
// buffer만 가진 PipeBuffer class로부터 상속받는 구조로 변경하고, 그 PipeBuffer를 Stream보다 먼저 상속
PipeStream ps;
}