본문 바로가기

c++

[C, C++] 문자와 문자열 처리(cin Object) C에는 한문자를 입출력할때 getchar, putchar함수를 그리고 한문장을 입출력할때는 gets, puts함수를 사용하였습니다. C++에서는 대부분의 경우 cin이나 cout로 를 통해 입력과 출력을 처리하지만 C와 비슷하게 함수를 사용할 수도 있습니다. #include main() { char c; while(cin.get(c)){ cout.put(c); } return 0; } cin이나 cout는 Class에 의해 파생된 일종의 Object 입니다. 위 Program에서는 이 Object의 get함수와 put함수를 사용해 한문자씩 입출력하고 있습니다. C에서는 한문자입출력시 변수의 Data형으로 되도록 이면 int형을 사용하는것이 좋다고 하였는데 이는 getchar함수가 입력중지시 -값을 반환하.. 더보기
[C, C++] Memory동적 확보 C++에서 Memory를 동적으로 확보하려면 new와 delete연산자를 사용해야 합니다.(함수가 아닙니다. 고로 별도의 Header File선언도 필요하지 않습니다.) #include main() { int *i; i = new int; *i = 3200; cout 더보기
[C, C++] 참조 C++에서는 어떤 Data를 다루기 위해 C와 같이 Pointer나 변수를 사용할 수 있을 뿐만 아니라 이에 더해 참조라고 하는 개념을 적용할 수 있습니다. 참조도 Pointer의 일종이지만 일반 Pointer처럼 해당 주소값은 변경할 수 없습니다. #include main() { int i; int &j=i; i = 100; cout 더보기
[C, C++] 함수처리 C++에서의 함수 작성은 C와 거의 비슷하지만 약간의 차이점을 가지고 있습니다. C에서 함수를 정의할때는 안정성을 고려하여 되도록이면 함수원형을 선언하도록 하였습니다. 이 말을 뒤집어 보면 안정성을 포기한다면 함수원형을 굳이 선언할 필요가 없다는 뜻이기도 합니다. #include main() { cout 더보기
[C, C++] Class구현시 Static활용 Class를 작성하고 해당 Class에 대해 Object를 생성하면 그 Object는 Class의 복사본이라고 할 수 있습니다. 따라서 하나의 Class에 여러개의 Object를 생성하면 그 생성된 수 만큼의 Class가 복사되는 셈입니다. 이렇게 생성된 각 Object는 해당 Class의 Member를 독립적으로 활용하게 됩니다. 바꿔 말하면 생성된 Object끼리는 Member를 공유할 수 없는 것입니다. #include #include class exam{ private: char name[15]; int age; public: exam(char *nm, int a); void memberprint(); }; exam::exam(char *nm, int a) { strcpy(name, nm); ag.. 더보기
[C, C++] Microsoft C, C++ Compiler MS사의 Visual Studio 개발도구에는 C와 C++ Compile인 cl.exe Compiler가 같이 포함되어 있습니다. 해당 Compiler의 위치는 C:\Program Files\Microsoft Visual Studio 9.0\VC\bin (VS 2008기준이며 각 VS Version마다 약간씩 차이가 있을 수 있습니다.)에 위치해 있습니다. cl.exe Compiler는 원한다면 다른 위치에서 사용해도 상관없으나 cl.exe를 이용해 C/C++ Source를 Compil하려면 환경변수라를 것을 먼저 설정해야 합니다. 환경변수 설정은 cl.exe Compiler와 함께 같이 포함되어 있는 vcvars32.bat Batch을 통해 간단히 설정할 수 있으며 이 File을 실행시켜 주기만 하면 .. 더보기