분류 전체보기 2435

OOP 단계별 프로젝트 8

[Account.h]/* Account 클래스는 깊은 복사를 진행하도록 복사 생성자가 정의되어 있다. 따라서 대입 연산자도 깊은 복사가 진행되도록 정의하는 것이 좋다. 그리고 AccountHandler 클래스에는 배열이 멤버로 선언되어서 객체의 저장을 주도 하는데, 이를 이번 Chapter에서 정의한 BoundCheckPointPtrArray 배열 클래스로 대체하고자 한다. 물론, 이를 위해서는 약간의 수정이 필요하며, 클래스의 이름도 적당히 변경해야할 필요가 있다. 실제 변경이 발생하는 헤더파일과 소스파일은 다음과 같다 Account.h Account.cpp-> 대입 연산자의 정의 AccountHandler.h-> BoundCheckPointPtrArray 클래스의 적용 따라서 이들 파일에 대한 버전정..

열혈 C++ 프로그래밍 11-1 문제

[1번 문제]/*Chapter 07에서는 예제 HASComposite.cpp를 통해서 다음의 두 클래스를 정의하였다(완전한 클래스의 정의는 예제 참고)class Gun{ ....} class Police{private: int handcuffs; //소유한 수갑의 수 Gun *pistol; //소유하고 있는 권총public: ....}이에 Police 클래스를 대상으로 깊은 복사가 이뤄지도록 대입 연산자와 복사 생성자를 동시에 정의하고 이의 확인을 위해 main 함수도 적절히 정의해보자*/ //HasComposite.cpp/*#include #include using namespace std; class Gun{private: int bullet; //장전된 총알의 수public: Gun(int bnum..

TCP/IP 소켓 프로그래밍 1~5장 함수 복습

[리눅스 소켓 생성 함수]#include int socket(int domain, int type, int protocol);->성공시 파일 디스크립터, 실패 시 -1 반환 *domain:소켓이 사용할 프로토콜 체계(Protocol Family) 정보 전달*type:소켓의 데이터 전송방식에 대한 정보 전달*protocol:두 컴퓨터간 통신에 사용되는 프로토콜 정보 전달 [리눅스 소켓에 주소정보 할당하는 함수]#include int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen);->성공시 0, 실패시 -1 반환 *sockfd:주소정보를(IP와 PORT를) 할당할 소켓의 파일 디스크립터*myaddr:할당하고자 하는 주소정보를 지니는 구조체 변수의..

TCP/IP 소켓 프로그래밍 9장 내용 확인문제

1. 다음 중 Time-wait 상태에 대해서 맞게 설명한 것을 모두 고르면? >b. 연결종료의 Four-way handshaking 과정에서 먼저 FIN 메세지를 전달한 소켓이 Time-wait 상태가 된다. *틀린 내용 a.Time-wait 상태는 서버 프로그램에서 생성한 소켓에서만 발생한다. ->소켓의 Time-wait 상태는 클라이언트냐 서버냐에 상관없이 존재한다. 먼저 연결의 종료를 요청하면 해당 소켓은 반드시 Time-wait 상태를 거친다. 하지만 클라이언트의 Time-wait 상태는 신경을 쓰지 않아도 된다. 왜냐하면 클라이언트 소켓의 PORT번호는 임의로 할당되기 때문이다. c.연결요청 과정에서 전송하는 SYN 메세지의 전송순서에 따라서 Time-wait 상태는 연결종료와 상관없이 일어날..

명품 C언어 프로젝트 3.2장 연습문제

[1번 문제]/*화살표 키를 눌러 숫자를 증가시키거나 감소시키는 프로그램을 작성하시오.기본 숫자 1000에 대해 위쪽 방향 화살표 키를 입력하면 숫자를 증가시키고,아래쪽 방향 화살표 키를 입력하면 숫자를 감소하게 합니다.왼쪽 방향 화살표 키와 오른쪽 방향 화살표 키는 감소하거나 증가시킬 단위를 조절하도록 합니다*/#include #include #include #define X_MAX 79#define Y_MAX 24 void gotoxy(int x, int y);void move_arrow_key(char key, int *num, int *unit); int main(void){ char key; int num = 100; int unit = 1; do { gotoxy(20, 10); printf("..

열혈 C++ 프로그래밍 10-2 문제

[1번 문제]/*부호 연산자로는 -는 단항 연산자이다.이 연산자는 피연산자의 부호를 반전시킨 겨로가를 반환한다.예를 들어서 다음 문장이 실행되면,int num2= -num1;num2에는 num1과 절대값은 같지만 부호가 다른 값이 저장된다.물론 num1의 값에는 영향을 미치지 않는다.이와 유사하게 Point 클래스를 대상으로 - 연산자를 오버로딩 해보자.다음의 문장이 실행되면, Point pos2= -pos1;Pos2의 멤버변수는 pos1의 멤버변수 값과 다른 부호의 값으로 초기화되도록 오버로딩해보자*/#include using namespace std; class Point{private: int xpos; int ypos;public: Point(int x = 0, int y = 0) :xpos(x)..

OOP 단계별 프로젝트 7

비록 조금 늦었지만, 지금이라도 프로그램을 여러 개의 파일에 나눠서 관리를 하자.예를 들어서 Simple이라는 이름의 클래스 있다면, Simple.h와 Simple.cpp 파일을 만들자.그리고 Simple.h에는 클래스의 선언을, Simple.cpp는 클래스의 정의(멤버함수의 정의)를 담자.그리하여 다음의 구조로 파일을 분할하자.Account.h, Account.cpp //Account 클래스의 선언과 정의NormalAccount.h //NormalAccount 클래스의 선언과 정의HighCreditAccount.h //HighCreditAccount 클래스의 선언과 정의AccountHandler.h, AccountHandler.cpp //AccountHandler 클래스의 선언과 정의BankingCom..