- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록★─Programing/☆─C | C++ (76)
드럼치는 프로그래머
'this'란 무엇인가? ■ 개념 : 멤버 함수를 호출한 객체의 주소를 나타낸다. 이게 무슨 말일까?? 다음의 이야기를 통해 this를 조금이나마 이해해 보도록 하자!! ^___^ // 이야기 하나 : 해당 객체의 멤버임을 확실하게 나타내기 위해서 this를 사용한다. ---------- #include using namespace std; class Point { private: int x; int y; public: Point( int _x, int _y ) : x(_x), y(_y) {} void SetX( int x ) { x = x; // 당신은 l-value와 r-value가 무엇인지 구분할 수 있겠는가? // 여기서의 l-value는 지역변수 x이고, r-value는 Point 멤버변수의 x..
#include using namespace std; class Point{ int x; //밑에서 설명할 부분. int y; Public: int GetX() {return x;} int GetY() {return y;} void SetX(int _x) {x=_x;} void SetY(int _y) {y=_y;} }; ---------------------------------------------------- 위의 소스를 보면 변수 x와y선언에 private인지 public인지 선언이 되어 있지 않다. 이런 경우 기본적으로 private로 인식을 한다. 그러나 만약에 class Point가 아닌 struct Point였다면 디폴트 값은 public이 된다. 이것이 바로 C++에서의 class와 str..
정보은닉(Information Hiding) 정보은닉은 쓰여진 그대로 정보(Information)를 은닉(Hiding) 한다는 말이다. 그렇다면 C++에서 정보는 무엇이고 은닉은 어떻게 하는 것일까? 설명하기 쉽게 자동차 클래스를 통해 설명해 보겠다. (이 글을 읽기전 클래스와 객체의 구분을 할 줄 안다는 가정하에 설명하겠다.) ------------------------------- Class Car { char *Engine; char Gear; } ------------------------------- 자동차의 설계도(클래스)를 통해 마티즈 자동차를 만들었다고 생각해보자. ------------------------------- Car Matiz; ---------------------------..
객체 지향 프로그래밍 (Object-Oriented Programing). 요놈은 프로그래밍 언어를 배우면서 항상 따라오는 부분이고, 참 중요한 부분인데, 아쉽게도 절차적 언어의 한계를 몸소 느끼지 못했다면 정말 이해하기도 힘든 부분이다. 아마 많은 프로그래밍과 팀프로젝트를 겪으면서 겨우 객체지향프로그래밍이 왜 좋은지를 느끼게 될 것이다. 나는 이런 상황이라 느꼈는데도, 어디가서 객체지향프로그래밍의 장점과 단점을 코드 실 예를 이용해서 보여준적은 없는듯... 아쉬운 부분... 여하튼!! 일단 절차적언어의 단점에서 부터 파생된 것이니 절차적언어부터... 절차형 언어에서는 흔히 기능을 분할에 그에 따르는 각 모듈을 만들어서 수행시키는데, 그 각 모듈이 따로 논다는거다(데이터취급이 완전하지 못하다). 뭐 따로..
C++에는 C와는 다르게 namespace 라는 개념이 있다. 같은 이름의 변수나 함수들을 namespace 로 나누어 다르게 사용하는것을 뜻한다. 다음과 같은 코드를 보자 #include void func() { printf("첫번째 func() 함수 호출\n"); } void func() { printf("두번째 funcB() 함수 호출\n"); } int main() { func(); return 0; } 다음과 같은 코드에서는 main() 함수에서 func() 호출 시 어떤 함수를 호출하려 하는지 알 수가 없다. 다음과 같은 코드는 C언어에서는 이미 func() 함수가 정의되어 있다는 에러 메세지를 두 번째 func() 함수 부분에서 발생하게 된다. 그럼 위의 코드를 C++ 기반으로 다시 작성해보..
#include // 신버전 // using std::cout; // using std::cin; // using std::endl; int main(void) { std::cout
유닉스상에서 프로그램을 짜다가 오랜만에 비주얼스튜디오에서 테스트 프로그램을 만드려 했는데 전에 쓰던건 6.0 이번엔 닷넷을 설치하고선 C++소스를 만들었는데 자꾸 에러가 발생하였다. 아주 간단히 만들어봐도 계속 에러가 발생..."iostream.h가 없다?" include/에서 헤더파일을 훑어봤더니 이런... 정말 iostream.h가 없어져버렸다. 지식IN에 검색해본 결과 .NET2003부터는 iostream.h를 지원하지 않는다고..ㅡ_ㅡ;; 아래는 지식IN내용이고 그 아래는 MSDN라이브러리의 iostream에 대한 정보. 비주얼 스튜디오 닷넷2003버전 에서요 아래 소스를 컴파일 하려고 하는데요 =========================================================..
사이트 돌아다니다가 rand() 관련 글이 있길래 영어공부 하는 셈치고 대충 번역해보았습니다..가다듬는 작업을 안했으므로 신뢰성 -100% 그냥 심심해서 해본거니까 -.-;.... 원문은 아래 사이트에 있으니 원문보고 싶으시면 가보시길.. 원문 :http://members.cox.net/srice1/random/crandom.html ============================================================================= ANSI C에서는 rand()는 0과 RAND_MAX 범위 안의 정수를 무작위로 발생 시키는데 RAND_MAX값은 stdlib.h에 정의되어 있고 일반적으로 최소 32767 이상이다. 주목 할 것은 32767 이라는 수가 큰 수가 아니라..
25개의 숫자를 빙고게임을 구현하는동안 rand() % 24 + 1 로 구현하였는데, 동일 숫자만 반복되는걸 보았고, 실행속도가 조금 느린거 같아서 좀 알아보았다. rand() 함수는 RAND_MAX (32767) 까지의 숫자가 난수발생한다고 한다. 25개의 숫자를 뽑는 코드를 바꿔보았다. srand ( ( unsigned int ) time ( NULL ) ); for ( i = 0; i < ____MAX_SIZE___; cnt = 0, i++ ) { Temp [ i ] = 25 * rand ( ) / RAND_MAX + 1; for ( j = 0; j < i; j++ ) { if ( Temp [ i ] == Temp [ j ] ) { cnt++; break; } } if ( cnt ) i--; } 돌..
음... 난 랜덤 함수가 좋다 아무도 종잡을수 없는 행동을 할 수있게 해주는 랜덤 함수 쿠쿠쿠 음... 가격이 비싸지 않을까 걱정이 되긴 하지만 뭐! 상관 없다. 그래도 좋다 rand 는 거의 srand 함수와 함께라고 생각 하면 좋을 것 같다. 쿠쿠쿠 프로그램 실해시 이렇게 한번 srand를 실행 시킨뒤 srand((unsigned)time(NULL)); 언제 어디서든 rand 함수를 사용 하면된다. 음... 참고로 rand() % 10 이렇게 하면 0부터 9까지의 숫자만을 표현 하게 되며 rand() % 10 + 11 이렇게 하면 11 부터 20까지의 숫자를 얻을수가 있게 된다. 좋다! ㅋㅋㅋ 이아래는 참고 지식인에서 긁어 왔다 랜덤함수가 표현 할수 있는 수는 32767인데 그걸 늘리는 방법 이라고 ..