C++ 소스는 한 개의 파일에 여러 개의 클래스가 존재해도 된다.
다음은 두 개의 클래스로 구성되어 있다.
Parent는 부모 클래스이고 Child는 Parent에서 상속 받은 자식 클래스이다.
// Filename: testSubclassing.cpp
#include <iostream>
using namespace std;
class Parent {
private:
char name[21];
public:
Parent(const char *); // 생성자
~Parent() { } // 소멸자
void sayName();
};
class Child : public Parent {
private:
char name[21];
public:
Child(const char *); // 생성자
~Child() { } // 소멸자
void sayName();
};
Parent :: Parent(const char *sname) {
strcpy(name, sname);
}
void Parent :: sayName() {
cout << "I am Parent, " << name << endl;
}
Child :: Child(const char *sname) : Parent(sname) {
strcpy(name, sname);
}
void Child :: sayName() {
cout << "I am a child, named as " << name << endl;
}
void main(void) {
Child obj("Dooly");
obj.sayName();
}
Visual C++ 6 로 컴파일할 경우 컴파일 명령은
cl -GX testSubclassing.cpp
이다.
실행> testSubclassing
I am a child, named as Dooly
Linux/Unix 플랫폼에서 g++로 컴파일 하려면 main() 함수를 다소 수정해야 한다.
int main(void) {
Child obj("Dooly");
obj.sayName();
return 0;
}
그리고 저장되는 소스 파일명도 testSubClassing.cc 로 한다.
컴파일> g++ testSubclassing.cc
실행> ./a.out
I am a child, named as Dooly
또는
컴파일> g++ -o testSubclassing testSubclassing.cc
실행> ./testSubclassing
I am a child, named as Dooly
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
'프로그래밍 > C++' 카테고리의 다른 글
C/C++ 프로그래밍 추천 사이트 (0) | 2009.02.07 |
---|---|
손으로 만드는 나눗셈 계산표 with C++ (0) | 2008.05.16 |
7비트 ASCII 코드표 만들기 예제 with C++ (0) | 2008.03.31 |
진법(radix) 표 만들기 예제 with C++ (0) | 2008.03.30 |
대화형 모드의 진법(radix) 변환 예제 with C++ (0) | 2008.03.29 |