코딩/C++8 #8 문제 04-3 [C++ 기반의 데이터 입출력] 문제 1) 문제 04-2에서 구현한 답에 대해서 모든 클래스에 생성자를 정의해 보자. 처음에 그냥 Init 함수를 다 생성자로 바꾸고 그 안에다가 객체를 생성해서 문제가 생겼다. show 함수에서 pos1, InnerCircle, OuterCircle이 인식이 안돼서 어떻게 하나 했는데 이니셜라이저를 이용해야 하는 거였다.... 멤버 이니셜라이저는 멤버변수로 선언된 객체의 생성자 호출에 활용되기 때문에 private에다가 객체를 생성하고 이니셜라이저로 객체에 인수를 지정해준다. 그러면 올바르게 실행됨...! 문제 2) NameCard 클래스를 정의해보자. 직급정보를 제외한 나머지는 문자열의 형태로 동적할당해야한다. 동적할당을 했으니 name, company,.. 2022. 2. 13. #7 문제 04-1 [정보은닉과 const] FruitSaleSim1.cpp에서 이 두 함수를 위와 같이 수정하고, ShowSalesResult와 ShowBuyResult함수를 const로 수정한다. 처음에 num 2022. 1. 28. #6 문제 03-2 [클래스의 정의] 문제1) 계산기 기능의 Calculator 클래스를 정의해 보자. 처음에 멤버함수들을 void로 선언했어서 n1, n2가 필요한 줄 알았는데 중간에 double로 바꿔서 필요없어졌음ㅠㅠ 그래서 각각 함수들에 n1, n2에 매개변수 넣었는데 그거 굳이 안 해도 됨. 그냥 바로 return 하는 게 더 간결함. 처음에 Init에는 도대체 뭘 넣어야 하는지 고민하다가 각각의 함수들이 쓰인 횟수를 초기화해야 한다는 것을 깨달음. 그리고 헤더에 선언을 했는데 Init에다가 선언이랑 초기화 동시에 해서 또 안되다가 초기화만 하는 걸로 바꿨더니 오류없이 컴파일 됐음! 문제2) 문자열 정보를 내부에 저장하는 Printer라는 이름의 클래스를 디자인하자. const char *를 이용하여.. 2022. 1. 26. #5 문제 03-1 [구조체 내에 함수정의하기] MovePos에서는 xpos에 x, ypos에 y를 더한 상태로 저장해둔다. AddPoint에서는 pos에 해당하는 xpos와 ypos를 각각 xpos와 ypos에 저장한다. ShowPosition은 저장된 값을 출력한다. 2022. 1. 25. #4 문제 02-2 [const 포인터와 const 참조자] const int num=12; 포인터 변수를 선언해서 이 변수를 가리키게 해보자. 그리고 이 포인터 변수를 참조하는 참조자를 하나 선언하자. 이렇게 선언된 포인터 변수와 참조자를 이용해서 num에 저장된 값을 출력하는 예제를 완성해보자. 답지 봤는데 변수이름이 똑같아서 깜짝 놀랐다. ptr이랑 ref가 num이랑 같은 값을 가리키는 지는 *ptr이랑 *ref를 출력해보면 알 수 있다. 나는 각각의 경우가 뭘 가리키는지 알고 싶어서 다 출력해봄. 결과를 보면 ptr을 출력하면 주솟값이 나오고, ref를 출력하면 ptr을 가리키도록 했으니까 같은 값이 나온다. &ref는 ref의 주솟값이 나오는 듯? 문제 02-3 [구조체에 대한 new & delet.. 2022. 1. 24. #3 문제 02-1 [참조자 기반의 Call-by-reference 구현] 문제 1 참조자를 이용해서 다음 요구사항에 부합하는 함수를 각각 정의하여라. PlusFunc은 인자로 전달된 int형 변수의 값을 1씩 증가시키는 함수, Change는 인자로 전달된 int형 변수의 부호를 바꾸는 함수다. 함수를 int형으로 하였지만, void로 하고, 함수를 따로 호출하고 출력시키는 형태도 가능하다. 문제 3 SwapPointer(ptr1, ptr2); 를 하고 나면 ptr1과 ptr2가 가리키는 대상이 서로 바뀌도록 SwapPointer함수를 정의해 보자. ptr과 ptr2가 가리키는 대상이 바뀌도록 해야하는데 이건 ptr1과 ptr2가 가리키는 num1과 num2의 주솟값을 서로 바꿔주는 것이 아니라 ptr1과 p.. 2022. 1. 23. 이전 1 2 다음