본문 바로가기

C++

Vitamin Quiz p542 대입 연산자 복습 비타민 퀴즈클래스의 경우에도 아래와 같이 연쇄적으로 대입 연산자를 쓸 수 있는지 확인해보자. pt3 = pt2 = pt1; 이게 작동하는가? //페이지 541 예제 21-5 #include //#include using namespace std; // point 클래스를 정의한다 class Point { public: // 멤버 변수 int x, y; // 멤버 함수 void Print(); }; // 멤버 함수 void Point::Print() { cout 더보기
Exercise 12-3 메모리 상태 확인하기 Exercise 12-3메모리 상태 확인하기다음의 소스 코드가 실행되었을 때의 메모리 상태(layout)을 그림으로 그려보자. struct Point{int x,y;}; Point pt[3] = { {100,100}, {30,50}, {80,20}}; Point* p[5] = { &pt[0],&pt[1],&pt[2],&pt[0],&pt[1] }; 그냥 보기 뭐하니까 코드화 / 출력해서 확실하게 알아보도록 하면. ///////// #include using namespace std; struct Point { int x,y; }; int main() { Point pt[3] = { {100,100}, {30,50}, {80,20}}; Point* p[5] = { &pt[0],&pt[1],&pt[2],&pt.. 더보기
Exercise 12-1 배열을 가리키는 포인터를 사용해서 배열 탐색하기 예제 12-6 을 수정해서, 포인터 p를 사용해서 배열의 모든 원소의 값을 출력하는 프로그램을 완성해보자. 원래 있는 예제 코드 12-6 #include using namespace std; int main() { //배열 정의 long lArray[20]; //포인터가 이 배열을 가리키게 만들자. long (*p)[20] = &lArray; //포인터를 통해서 배열을 사용하자. (*p)[3] = 300; //결과를 확인하자 cout 더보기
Exercise 16-1 상위권 점수만 출력하자 16-1 상위권 점수만 출력하자앞의 예제를 조금 수정해서 int 타입 대신에 float 타입의 정수를 입력받게 수정해보자. 또 평균만 구하는 대신에 평균보다 높은 점수만 출력하게 수정해보자. 앞의 예제부터 씀. 입력값의 평균 구하기. #include using namespace std; int main() { //몇개의 정수를 입력할지 물어보낟. int size; cout > size; //필요한 만큼의 메모리를 할당한다. int* arr = new int [size]; // 정수를 입력 받는다. cout > arr[i]; //평균을 계산하고 출력한다. int sum = 0; for(i = 0; i 더보기
Exercise 17-4 절대 경로의 디렉토리 부분만 출력하기 절대경로의 디렉토리 부분만 출력하기. 틀림그림 찾기 개발팀에서 그림 파일들을 관리하는 프로그램을 작성 중인데, 그 때문에 파일의 절대 경로에서 디렉토리 부분만 추출하는 함수가 필요하다고 한다. 사용자로부터 파일의 절대 경로를 입력받은 후에 디렉토리 부분만 출력하는 프로그램을 작성해보자. 아래 입력과 출력의 예가 있다. d:\My Library\Temp\test.jpg d:\My Library\Temp\ -------------------------------------------- 해결방안. find를 사용하면 가장 처음.. 에 온 것의 자리값을 반환한다.(뒤에 검색되는것들을 알려주지 않는다.) 즉 제일 뒤에 있는 \\ 를 반환하려면 원래의 문장을 뒤집어서 찾아내야 하고 또 이 찾은 숫자도 결국 뒤집어서.. 더보기