June

기말고사 기출

1. Ok or Wrong

Determine for each of the following attribute-access-expressions whether it results in an Error or not

c++
class A {
	public:
		int x;
		A *objARef;
	private:
		int y;
	protected:
		int z;
};

class B : public A {
	public:
		A objA;
};

class C {
	public:
		A objA;
		A *objARef;
		B objB;
};
in class AB C
x
y
z
objA.x
objA.y
objA.z
objARef→x
objARef→y
objARef→z
objB.x
objB.y
objB.z

2. Class 만들기

private, public 요소 문장으로 주어주고 그에 대한 클래스 만드는 문제. getter, setter까지

ex)

(1)Class int number; char name[20]; Attriute 생성 (2)Default Constructor 초기화 (3)member function print 생성 후, name number 찍기 (4)main함수애서 DC로 instance 하나 생성 후 print 찍기

3. Virtual 함수

c++
#include <iostream>

class C1 {
public:
void funA() { std::cout << "C1 fun A" << std::endl; }
virtual void funB() { std::cout << "C1 fun B" << std::endl; }
};

class C2 : public C1 {
public:
void funA() { std::cout << "C2 fun A" << std::endl; }
virtual void funB() { std::cout << "C2 fun B" << std::endl; }
};

int main() {
C1* o1 = new C1();
C1* o2 = new C2();
C2* o3 = new C2();

o1->funA();
o1->funB();
o2->funA();
o2->funB(); 
o3->funA();
o3->funB(); 
}

4. throw catch output 예측하기

5. 연산자 overriding (+)

Seoul, South Korea

jwsong5160@gmail.com

© 2026 Junwoo Song