#include <stdio.h>
#include <stdlib.h>
#include
<time.h>
#include <iostream>
#include
<Windows.h>
#include <math.h>
using namespace std;
class c{
public :
c(){
cout<<"c 생성자"<<endl;
}
~c(){
cout<<"c 소멸자"<<endl;
}
};
class a : public c{
public:
a(){
cout<<"a 생성자"<<endl;
}
~a(){
cout<<"a
소멸자"<<endl;
}
};
class b{
public:
a ai;
b(){
cout<<"b
생성자"<<endl;
}
~b(){
cout<<"b
소멸자"<<endl;
}
};
int main(void)
{
/*
a ai; 의 경우
생성자는 부모부터 실행되지만
소멸자는
virtual 처럼 자식 부터 실행된다.
*/
/*
b bi;
b 안에 클래스 멤버가 포함되어 있으면 포함된 생성자가 먼저 호출 된다
*/
return
0 ;
}
반응형
'프로그래밍(Programming) > c++, 11, 14 , 17, 20' 카테고리의 다른 글
C++ virtual base 클래스 (0) | 2012.10.31 |
---|---|
void 형변환에 관하여 %p (0) | 2012.10.31 |
랜덤함수와 씨드값 (0) | 2012.10.31 |
char 을 BSTR 로 변환 (0) | 2012.10.31 |
PathFileExists(파일경로가 붙은 파일 이름) 파일이 존재하는지 여부 (0) | 2012.10.31 |