다음 C++ 코드의 출력 결과는?
class X{
public: virtual void a() {cout<< "a of X"<<endl;}
void b() {cout<< "b of X"<<endl;}
virtual void c() {a(); b();}
};
class Y : public X{
public: void a() {cout<< "a of Y"<<endl;}
};
class Z : public Y{
public: void b() {cout<< "b of Z"<<endl;}
void c() {b(); a();}
};
…
X x1; Z z1;
x1 = z1; x1.c();
X* ap = new Y; ap->c();
ap = new Z; ap->c();- ①a of X
- ②a of Xb of X b of Za of Y a of Xb of X b of Xb of Z b of Za of Y a of Y
- ③b of Z
- ④b of Xa of X a of Xa of Y a of Xb of X b of Xb of Z b of Za of Y a of Y
선지를 골라 바로 채점해 보세요.
정답 ①
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)