분류 전체보기 2430

열혈 C++ 프로그래밍 4-3 문제

[1번 문제]/*앞서 제시한 문제 4-2를 해결하였는가? 당시만 해도 생성자를 설명하지 않은 상황이기 때문에 별도의 초기화함수를 정의 및 호출해서 Point, Circle, Ring 클래스의 객체를 초기화 하였다.이 때 구현한 답에 대해서 모든 클래스에 생성자를 정의해보자*/#include using namespace std; class Point{private: int xpos; int ypos;public: /* void Init(int x, int y) { xpos = x; ypos = y; } */ Point(int x, int y) :xpos(x), ypos(y) { } int GetX() { return xpos; } int GetY() { return ypos; } void ShowPoint..

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

/*Chapter 03에서 제시한 과일장수 시뮬레이션 예제 FruitSaleSim1.cpp에서 정의한 두 클래스의 멤버변수는 private으로 선언이 되어있다.그러나 다음 조건을 유지할 수 있는 장치는 아무것도 되어있지 않다.1.사과의 구매를 목적으로 0보다 작은수를 전달할 수 없다위의 제약사항을 항상 만족시킬 수 있도록 예제를 변경하고, 예제의 안정성을 높일 수 있도록 일부 함수를 const로 선언해보자*/ /*FruitSaleSim1.cpp#include using namespace std; class FruitSeller{private: int APPLE_PRICE; int numOfApples; int myMoney;public: void InitMembers(int price, int num, ..

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

[1번 문제]/*계산기 기능의 Calculator 클래스를 정의해보자. 기본적으로 지니는 기능은 덧셈, 뺄셈, 곱셈 그리고 나눗셈이며, 연산을 할 때마다 어떠한 연산을몇 번 수행했는지 기록되어야 한다. 아래의 main 함수와 실행의 예에 부함하는 Calculator 클래스를 정의하면 된다.단, 멤버변수는 private으로, 멤버함수는 public으로 선언하자.int main(void){Calculator cal;cal.Init();cout

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

/*2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다struct Point{ int xpos; int ypos;};위의 구조체를 기반으로 다음의 함수를 정의하고자 한다(자세한 기능은 실행의 예를 통해서 확인)void MovePos(int x, int y); //점의 좌표이동void AddPoint(const Point &pos); //점의 좌표증가void ShowPosition(); //현재 x, y 좌표정보 출력 int main(void){ Point pos1={12, 4}; Point pos2={20, 30}; pos1.MovePos(-7, 10); pos1.ShowPosition(); //[5, 14] 출력 pos1.AddPoint(pos2); pos1.ShowPositio..

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

1. TCP보다 UDP가 빠른 이유는 무엇인가? 그리고 TCP는 데이터의 전송을 신뢰할 수 있지만 UDP는 신뢰할 수 없는 이유는 또 무엇인가? >UDP는 TCP와 달리 흐름제어를 하지 않기 때문에 TCP보다 빠르다. 이 흐름제어는 소켓의 연결과 종료, 그리고 데이터 송수신 전반에 걸쳐서 진행되기 때문에 TCP의 데이터 전송은 언제나 신뢰할 수 있다. 하지만, 이 흐름제어 때문에 속도는 UDP보다 느리다. 2. 다음 중 UDP의 특성인 아닌 것을 모두 고르면? >b. UDP 기반으로 데이터를 전송할 목적지가 두 군데라면, 총 두개의 소켓을 생성해야 한다 ->UDP 소켓이 하나 있다면 어디건 데이터를 전송할 수 있다. c. UDP 소켓은 TCP 소켓이 할당한 동일한 번호의 PORT에 재할당이 불가능하다. ..

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

[문제1]/*다음 표준함수를 호출하는 예제를 만들되, C++의 헤더를 선언해서 만들어보자.그리고 예제의 내용은 상관이 없지만, 아래의 함수들을 최소 1회 이상 호출해야 한다.참고로 다음 함수들은 C언어의 경우 에 선언되어 있다1.strlen 문자열의 길이 계산2.strcat 문자열의 뒤에 덧붙이기3.strcpy 문자열의 복사4.strcmp 문자열의 비교*/#include #include using namespace std; int main(void){ char str1[20] = "I like "; char str2[20] = "Gudetama"; char str3[20]; int length = strlen(str1); cout

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

/*구조체에 대한 복습을 겸할 수 있는 문제를 제시하겠다.2차원 평면상에서의 좌표를 표현할 수 있는 구조체를 다음과 같이 정의하였다typedef struct __Point{ int xpos; int ypos;}Point;위의 구조체를 기반으로 두 점의 합을 계산하는 함수를 다음의 형태로 정의하고(덧셈결과는 함수의 반환을 통해서 얻게 한다).Point& PntAdder(const Point &p1, const Point &p2);임의의 두점을 선언하여, 위 함수를 이용한 덧셈연산을 진행하는 main 함수를 정의해보자참고로 이 문제의 해결을 위해서는 다음 두 질문에 답을 할 수 있어야 한다1.동적할당 한 변수를 함수의 참조형 매개변수의 인자로 어떻게 전달해야 하는가?2.함수 내에 선언된 변수를 참조형으로 반..

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

/*const 포인터에 대한 복습을 겸할 수 있는 문제를 제시하겠다. 다음의 상수선언을 보자const int num=12;포인터 변수를 선언해서 위 변수를 가리키게 해보자. 그리고 이 포인터의 변수를 참조하는 참조자를 하나 선언하자마지막으로 이렇게 선언된 포인터 변수와 참조자를 이용해서 num에 저장된 값을 출력하는 예제를 만들자*/#include using namespace std; int main(void){ const int num = 12; const int *ptr = # //포인터 변수를 선언해서 변수 가리킴 const int *(&pointer) = ptr; //포인터의 변수를 참조하는 참조자 cout

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

[1번 문제]/*참조자를 이용해서 다음 요구사항에 부합하는 함수를 각각 정의하여라1.인자로 전달된 int형 변수의 값을 1씩 증가시키는 함수2.인자로 전달된 int형 변수의 부호를 바꾸는 함수*/#include using namespace std; void add(int &ptr) //참조자를 이용한 함수, 물론 포인터를 이용해도 된다{ ptr += 1;} void reverse(int &ptr){ ptr *= -1;} int main(void){ int num; cout > num; cout