목록코딩/C++ (44)
영넌 개발로그
Color class Black, White, Red, Green, Blue, Yellow, Magenta(분홍), Cyan(하늘), Transparent(투명) CircleShape shape(radius, pointCount); radius : 반지름 pointCount : 원을 그릴 때 삼각형을 여러개 모아서 원을 만든다. 그 개수를 입력 (생략 가능) CircleShape shape(50.0f); shape.setFillColor(Color::Green); CircleShape::setPosition(float x, float y) x,y의 좌표 설정 (default : 0,0) 원의 중앙 좌표가 아닌 좌상단의 좌표를 설정하는 것 CircleShape shape(50.0f); shape.setFi..
SFML을 이용한 C++ 응용프로그램 만들기 SFML은 사용이 간편하고 C ++로 작성된 이식 가능한 API입니다. 이를 객체 지향 SDL로 생각할 수 있습니다. SFML은 모든 사람에게 가능한 한 유용하도록 모듈로 구성됩니다. OpenGL을 사용하기 위해 SFML을 미니멀 한 윈도우 시스템으로 사용하거나 비디오 게임이나 멀티미디어 소프트웨어를 구축하는 기능이 가득한 완전한 멀티미디어 라이브러리로 사용할 수 있습니다. 우선적으로, 아래 링크에서 SFML 32bit을 다운 받습니다. 32bit는 64bit 버전에서도 사용가능하니 웬만하면 32bit를 다운받는 것을 추천합니다. www.sfml-dev.org/ SFML SFML is multi-language SFML has official bindings ..
STL ? C++ 사용자를 위한 라이브러리 컨테이너(vector, stack), 반복자 (iterator), 알고리즘(sort), functor class array (벡터랑 다른 것) - class vector: 동적으로 크기 조절 가능하지만 속도가 느리다 array - 크기가 결정, 속도가 빠르다 - 배열과 동일하지만, 여러가지 함수를 제공하여 편의성을 높인 것이다 - local일 때와 global일 때 초기화가 다르다 (global은 전부 0 초기화) - #include 사용 array 정의 - array std::array a; array 함수 array.front( ) 첫 번째 요소 값 array.back( ) 마지막 요소 값 int main() { array _myarray = { 7,8,9 ..
array of object static array : Person p[10] #include using namespace std; class Person { public: int age; Person() : age(0) {}; }; int main() { Person p[10]; for (auto& i : p) {//레퍼런스 안붙이면 메모리를 i의 새로 할당받아서 복사하는거임 cout
getter, setter private member variable은 class 내에서만 정의가 가능함. 즉, object를 생성했을 때 이 변수를 read나 write할 수 없다는 뜻과 같아진다. 그러나 read나 write할 수 있는 member function을 public으로 필요로 함 객체 기반 프로그래밍의 범용적인 단어로 쓰이고 있다. - read하는 function을 getter - write하는 function을 setter - 이름을 붙일 때에는 get/set + variable_name - 보통 class 내부에서 선언 (inline이 됨->실행속도 빨라짐) ex) 멤버 변수 age가 있을 때 getAge(), setAge() 와 같은 함수를 public으로 만들어줌 #include ..
#include #include using namespace std; class PrintData { public: void myprint(int i) { cout
: 윈도우즈에서 콘솔창에 그림그리기 위한 헤더 class 이름 : MY_CIRCLE do_draw() : Ellipse(타원) 그리기 #include #include class MY_CIRCLE { public: int left, right, top, bottom; //좌우상하 좌표 MY_CIRCLE(int l, int t, int r, int b) : left(l), top(t), right(r), bottom(b) { } void do_draw() { HDC hdc = GetWindowDC(GetForegroundWindow()); Ellipse(hdc, left, top, right, bottom); } MY_CIRCLE Clone() { return *this; } MY_CIRCLE& CloneR..
* this ? 객체를 만들었을 때 기본적으로 그 객체를 가르키는 포인터는 this 이다. 클래스 내부에서만 사용되고, 자기자신을 가르킨다. SLL 구현 - Node를 SLL에 붙이는 코드를 Node가 갖도록 한다. (자기 스스로 붙이기) 1. class를 node #include using namespace std; class Node { public: int n; Node* next; Node(int v) : n(v), next(0) { } void addToSLL(Node *& _head) { if (_head == 0) { _head = this; } else { Node* temp = _head; while (temp->next != 0) { temp = temp->next; } temp->ne..
default parameter of function - 함수 파라미터에 기본값을 지정 - 인수가 없는 경우, 기본 값으로 호출 - 왼쪽에 있는 것부터 default를 없앨 수 있음 (불분명한 파라미터 지정을 없애기 위함) void func(int a, int b); 호출할 때, 반드시 a와 b에 해당하는 인수지정 void func(int a=5, int b=6); a와 b를 지정 안하고 호출해도 5와 6을 이용 void func(int a, int b =6); 인수 1개 a는 필수 void func(int a=3, int b, int c=2); 불가능한 방법 OOP (Object Oriented Program) 구조체 struct는 데이터와 코드가 분리되어 있다. -단점 : 데이터가 수동적으로 존재하고..
참조 변수 - 변수 선언시 &를 붙인다. - 포인터와는 다른 것. C언어에서는 사용하지 못한다. - 어떤 공간에 대한 별명을 붙이는 것 예시 1> 아래의 예시에서 ra와 a가 같은 공간을 참조한다. (ra는 참조 변수, a는 일반 변수) a라는 이름으로 액세스 하던 공간을 ra라는 이름으로 액세스 할 수 있다. int a; int &ra = a; 예시 2> 참조변수에 참조 변수를 넣어도 똑같이 동작한다. 아래 코드에서 a, ra, ka는 같은 공간을 가리킨다. int a = 11; int &ra = a ; int &ka = ra; 예시 3> a, ra, k 를 프린트할 경우 다 같은 값인 50이 나오지만 셋다 같은 공간을 가르키는 건 아니다. ra와 a가 같은 공간, k는 다른 공간에 만들어진다. k의 ..