어서와 c++은 처음이지! 천인국 PROGRAMMING EXERCISE 9장
- 최초 등록일
- 2021.12.12
- 최종 저작일
- 2021.12
- 12페이지/ 한컴오피스
- 가격 4,000원
* 본 문서(hwp)가 작성된 한글 프로그램 버전보다 낮은 한글 프로그램에서 열람할 경우 문서가 올바르게 표시되지 않을 수 있습니다.
이 경우에는 최신패치가 되어 있는 2010 이상 버전이나 한글뷰어에서 확인해 주시기 바랍니다.
소개글
"어서와 c++은 처음이지!_ 천인국_PROGRAMMING EXERCISE _9장"에 대한 내용입니다.
목차
1. 본문에 사용된 원을 나타내는 Circle 객체 2개를 받아서 더 큰 원을 반환하는 함수 getLargerCircle() 함수를 작성하고 테스트하라. 복사 생성자가 호출되는 곳은 어디인가?
2. 선을 나타내는 클래스 Line을 다음과 같이 정의하였다. 생성자 안에서 동적 메모리 할당을 하고 있어서 우리 나름의 복사 생성자를 정의하여야 한다. 복사 생성자를 작성하고 테스트하라.
3. 다음 클래스를 위한 복사 생성자를 정의하고 테스트하라.
4. 2차원 공간의 한 점을 나타내는 Point 클래스를 생각하자. 두 개의 Point객체를 교환하는 swap() 함수를 작성하고 테스트하는 프로그램을 작성해보자. 원본 객체를 받아서 실제로 내용이 교환되어야 한다.
5. 상자를 나타내는 Box를 다음과 같이 클래스로 정의한다. 지금까지 생성된 Box객체를 세기 위하여 정적 변수 count를 사용하고자 한다. 코드를 추가하여 보자.
6. 온라인 게임을 작성하고 있다고 하자. 클래스 Game을 만든 후에 이 클래스의 객체 player1, player2 등을 만들었다. 클래스 Game로 생성된 플레이어의 수를 계산하려고 한다. 플레이어 수를 계산하기 위해 정적인 데이터 멤버를 정의하여 새로운 플레이어가 생성되거나 기존 플레이어가 삭제 될 때 마다 현재 남아있는 플레이어의 수를 화면에 표시하라.
본문내용
[코드]
#include <iostream>
using namespace std; //네임스페이스
class Point { //Point클래스
private:
double xval, yval; //double형 멤버 변수
public :
Point(double x = 0.0,double y = 0.0){ xval = x; yval = y;} //생성자
double getX(){return xval;}
double getY(){return yval;}
void swap(Point& p1,Point& p2){ //리턴값이 없는 swap함수
Point tmp; //swqp함수 안에만 존재하는 tmp객체 생성
tmp.xval = p1.xval;
p1.xval = p2.xval;
p2.xval = tmp.xval;
tmp.yval = p1.yval;
p1.yval = p2.yval;
p2.yval = tmp.yval;
}
};
int main(){
Point p1(1.2,-2.8);
Point p2(3,6);
cout<<"("<<p1.getX()<<","<<p1.getY()<<")"<<endl; //생성된 p1출력
cout<<"("<<p2.getX()<<","<<p2.getY()<<")"<<endl; //생성된 p2출력
swap(p1,p2);
cout<<"("<<p1.getX()<<","<<p1.getY()<<")"<<endl; //swap 후 p1출력
cout<<"("<<p2.getX()<<","<<p2.getY()<<")"<<endl; //swap 후 p2출력
return 0;
}
참고 자료
없음