[7급 국가직 프로그래밍언어론 2007년 8번]

다음 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();
프로그래밍언어론
  1. ①a of X
  2. ②
    a of X
    b of X b of Z
    a of Y a of X
    b of X b of X
    b of Z b of Z
    a of Y a of Y
  3. ③b of Z
  4. ④
    b of X
    a of X a of X
    a of Y a of X
    b of X b of X
    b of Z b of Z
    a of Y a of Y

선지를 골라 바로 채점해 보세요.

정답 ①

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고