yEverything

#8 본문

Coding/C++

#8

yEvery 2022. 2. 13. 20:37

문제 04-3 [C++ 기반의 데이터 입출력]

문제 1) 문제 04-2에서 구현한 답에 대해서 모든 클래스에 생성자를 정의해 보자.

Point, Circle 클래스
RIng 클래스

처음에 그냥 Init 함수를 다 생성자로 바꾸고 그 안에다가 객체를 생성해서 문제가 생겼다.

show 함수에서 pos1, InnerCircle, OuterCircle이 인식이 안돼서 어떻게 하나 했는데

이니셜라이저를 이용해야 하는 거였다....

멤버 이니셜라이저는 멤버변수로 선언된 객체의 생성자 호출에 활용되기 때문에

private에다가 객체를 생성하고 이니셜라이저로 객체에 인수를 지정해준다.

그러면 올바르게 실행됨...!

 

문제 2) NameCard 클래스를 정의해보자.

enum, NameCard 클래스
NameCard 클래스, 소멸자

직급정보를 제외한 나머지는 문자열의 형태로 동적할당해야한다.

동적할당을 했으니 name, company, phone에 대해서 할당한 메모리 공간을 소멸시켰다.

그런데 이거 오류남.. 직급정보는 int형 멤버변수를 선언해서 저장읠 하되,

enum선언을 활용해야 하는데 이 부분을 모르겠음.

하,,,, switch 이용해서 해야하네,,,,

namespace COM_POS에다가 아래와 같이 switch와 case를 이용한다.

switch, case, 실행결과

NameCard생성자에다가 이니셜라이저를 이용하여 :position(pos)로 고친다.

그러면 올바르게 실행결과가 나타난다.

 

 

'Coding > C++' 카테고리의 다른 글

#7  (0) 2022.01.28
#6  (0) 2022.01.26
#5  (0) 2022.01.25
#4  (0) 2022.01.24
#3  (0) 2022.01.23