티스토리 뷰
// create 함수
#include "stdafx.h"
#include <stdio.h>
// 노출시킬 A 클래스
class A
{
public:
static A *Create();
virtual void foo() = 0; // 순수 가상 클래스
};
#include "stdafx.h"
#include <stdio.h>
// 노출시킬 A 클래스
class A
{
public:
static A *Create();
virtual void foo() = 0; // 순수 가상 클래스
};
// 노출시키지 않을 B, C 클래스
class B : public A
{
public:
virtual void foo() { printf("B->foo()\n"); }
};
class B : public A
{
public:
virtual void foo() { printf("B->foo()\n"); }
};
class C : public A
{
public:
virtual void foo() { printf("C->foo()\n"); }
};
int env = 0; // 0 이면 B 클래스를 조건, 1 이면 C 클래스 조건
A *A::Create()
{
if ( env == 0 )
return new B; // 0 이면 B 클래스
return new C; // 1 이면 C 클래스
// 필요에 따라 클래스 변환
}
{
if ( env == 0 )
return new B; // 0 이면 B 클래스
return new C; // 1 이면 C 클래스
// 필요에 따라 클래스 변환
}
int _tmain(int argc, _TCHAR* argv[])
{
A *p = A::Create();
p->foo();
delete p;
return 0;
}
실행 결과..
}
실행 결과..
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- oracle
- C/C++
- 게시판
- Spore
- 가을
- Wii GAME
- NDS GAME LIST
- 웃기는 사진
- 3분 영어 위클리
- 군대이야기
- NDS
- 아이폰
- 동물의숲
- 티스토리달력2011
- 티스토리달력2010
- CNN Student News
- 겨울
- ndsl
- Free Coupon
- 슈퍼마리오 RPG
- 동유럽
- Project Diet
- NDSi
- DLC
- 야생의 숨결
- 스포어
- jsp
- 2011사진공모전
- 젤다의 전설
- 오라클
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함