C++ 97

클래스를 사용해보자

객체는 속성과 동작을 지닌다. 자동차가 객체라면 클래스는 설계도 이다. class Car { //비공개를 먼저 선언하고 //그 다음에 공개를 정의한다. public: // 멤버 변수 선언 int speed; // 속도 int gear; // 기어 string color; // 색상 // 멤버 함수 선언 void speedUp() { // 속도 증가 멤버 함수 speed += 10; } void speedDown() { // 속도 감소 멤버 함수 speed -= 10; } }; - > 이 클래스는 값의 입력 및 변경이 불가능하다. 잘못된 설계의 클래스다. class Car { private: // 멤버 변수 선언 int speed; //속도 int gear; //기어 string color; //색상 ....

C++/summary 2010.05.25

String 클래스

문자열이 증가 해도 계속적으로 사용가능하다. #include // 스트링 인클루드를 해준다. using namespace std; // 이것도 필요하다. string s1 = "This is a test."; // string 객체를 생성하고 초기화한다. 하지만 클래스에서 정의 하는 방식은 string s2("Hello World"); // 이런 식으로 () 이용하여서 문자열을 초기화 한다. string s3; -> 하지만 하위 호환성을 위해서 기존 방식으로 해도 가능. 연산자 함수 cout s1.operator + (s2); if ( s1 == s2 ) // 문자열을 비교한다. => s1. operator == (s2); cout

C++/summary 2010.05.25

배경음악을 넣어보자. PlaySound()

일단 준비 단계로 헤더파일을 인클루드 한다. #include #pragma comment(lib,"winmm.lib") 그리고 프로젝트 내에 .wav 파일을 넣어주고 PlaySound(TEXT("bgm.wav"), NULL,SND_FILENAME | SND_ASYNC | SND_LOOP | SND_NODEFAULT); 이런 식으로 옵션을 넣어준다. 중강 중간에느 | (OR) 을 적어준다. 여러가지 옵션 내용으로는 플래그명 의미 SND_APPLICATION 매개변수 pszSound는 응용프로그램에 등록된 변수명이다. 응용프로그램에 정의된 소리 변수명을 기입하기위해 당신은 이 플래그를 SND_ALIAS 또는 SND_ALIAS_ID와 함께 쓸수 있다. SND_ALIAS 매개변수 pszSound는 레지스토리나 ..

C++/summary 2010.05.20

콘솔창의 색을 바꾸자.

#include #define col GetStdHandle(STD_OUTPUT_HANDLE) // 콘솔창의 핸들정보 받기 #define RED SetConsoleTextAttribute( col,0x000c ); //빨간색 #define BLUE SetConsoleTextAttribute( col,0x0001 | 0x0008); //파란색 #define HIGH SetConsoleTextAttribute( col,0x00a); // 연두 #define WHITE SetConsoleTextAttribute( col,0x000f); // 흰색 #define SKY SetConsoleTextAttribute( col, 0x000b); //하늘색 #define YEL SetConsoleTextAttribute..

C++/summary 2010.05.18

객체지향 언어.

객체란 ? 1. 객체(object)는 상태와 동작을 가지고 있다. 2. 객체의 상태(state)는 객체의 특징값(속성)이다. 3. 객체의 동작(behavior) 또는 행동은 객체가 취할 수 있는 동작 상태는 변수로 표현되고, 색깔 -> color 동작은 함수로 표현된다 속도증가 - > speedup(); 클래스는 : 객체를 만드는 설계도. 클래스로부터 만들어지는 각각의 객체를 특별히 그 클래스의 인스턴스(instance)라고도 한다.

C++/summary 2010.05.18

clrscr(), gotoxy(), delay(x) 합수

Borland C++ 의 conio.h에 들어있던 콘솔용 기능인 clrscr(), gotoxy(x,y), delay(x) 는 Visual C++ 이나 gcc, Dev C++등에서는 사용할 수 없다. 그러나 clrscr(), delay(x), gotoxy(x,y)는 windows.h 를 이용해 Visual C++이나 Dev C++ 에서 구현할 수 있다. 인터넷에 떠도는 것들 중에서 잘못된 게 많아, 여기에 이렇게 올린다. 사실 이것도 잘 만든 것인지는 잘 모르지만, 나름대로의 테스트로 제대로 구현했다고 본다. 1. gotoxy(); 참고 : 인터넷에서 떠도는 것 중에서, x,y대신 x-1, y-1이라고 되어있는 경우가 있는데, 이는 잘못된 것이다. 이는 추후에 올릴 nibbles for Dev C++ (i..

C++/Function 2010.05.13

동적할당 메모리 && 메모리의 해제

정적할당 메모리에서는 int buffer[80]; 이것을 다시 100개로 늘릴때는 불가능하다. 이럴때 동적할당 메모리가 가능하다. 예전 C에서는 // malloc 과 free라는 함수를 사용하였다. int *p = (int *) malloc(sizeof(int) *10 ) // 이것은 힙영역에 저장 // void 주소값이 반환된다. 그래서 타입변환이 필요하다. p[0] = 10; // 이렇게 사용이 가능했다. 하지만 이것은 할당후 사라지지 않는다. 그래서 free(p); 하지만 C++에서는 // new 와 delete 라는 연산자를 사용하였다. int *p = new int[10]; p[0] = 100; // 이런식으로 사용가능 delete[] p; 이것의 차이는 함수는 선언, 기본적 제공하지 않음 하지..

C++/summary 2010.05.04