[C++] 클래스의 초기화, const 멤버 함수
·
C++/Basic
클래스의 초기화 Stock stock2 = Stock("Objectss", 2, 2.0); stock1 = Stock("no no", 10, 230.0); Stock no_tip = {"yes test", 100, 124.0}; 위의 매개변수를 가진 생성자가 있는 클래스에서 초기화를 위와 같이 사용할 수 있다. const 객체 const Stock land = Stock("sss"); 위 객체는 매개변수를 초기화한 후 다른 데이터로 변경할 수 없다. const 멤버함수 class Stock { public: void show() const; private: int ss; int xx; }; 멤버 변수들을 바꾸지 않기위해 멤버함수에 const를 사용한다. 클래스 사용 범위 상수 class Stock { p..
객체 지향 프로그래밍
·
C++/Basic
객체지향 프로그래밍 객체지향 프로그래밍(Object-Oriented Programming)은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태(state)와 행위(behave)로 이루어진 객체로 만드는 것이다. 이 객체들을 마치 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다. 다시 말해서 객체지향 프로그래밍은 객체를 만드는 것이다. 기본 구성 요소 클래스(Class) 같은 종류의 집단에 속하는 속성과 행위를 정의한 것. 다른 클래스와 독립적으로 디자인해야 한다. 몬스터(Monster) 의 특성과 행위들을 정의한 객체가 클래스가 될 것이다. 객체(Object) 클래스의 인스턴스(Instance). 상위 클래스의 속성을 가지고 있으면서 개별적..
[C++] using과 namespace
·
C++/Basic
기본적인 활용 namespace test { int x; double sss; } using namespace test; int main() { test::sss = 20; cout
[C++] new연산자
·
C++/Basic
float * ss = new float[20]; float가 4바이트므로 80바이트의 메모리가 new에 의해서 대입되고 delete로 해제될 때가지 메모리에 유지된다. int *pi = new int(6); *pi를 6으로 초기화 //struct struct where { double x; double y; double z; }; where *idds = new where {2.2, 34.5, 2.3}; //int int *ar = new [4] {2, 3, 4, 23}; int *oi = new(40 * sizeof(int)); 이런식의 초기화도 가능하다. int *xi = new int; delete xi; xi = new int [32]; delete [] xi; 꼭 사용 후에 delete를 이용..
[C++] static과 외부변수 선언
·
C++/Basic
//test.cpp int num1; //Main.cpp int num1; int main() { } 위와 같이 전역변수로 같은 변수를 선언하게 되면 오류가 난다. 단일 변수를 정의해야하는 규칙에 위배되기 때문이다. //test.cpp int num1; //Main.cpp static int num1; int main() { } - 전역 변수 구역에 static을 쓰게 되면 현재 cpp에서만 쓰는 내부 링크를 가진 정적변수로 취급한다. - 프로그램이 시작할 때 static 변수는 한 번만 초기화한다. //Main.cpp const int num1 = 3; int main() { } - const는 내부 링크를 가진다. 외부 링크를 갖기위해서는 extern을 사용한다. - extern을 사용할 시에는 다른..
[C++] mutable 사용법
·
C++/Basic
struct data { char name[20]; mutable int accesses; }; const data test = {"ssssddddwww", 2}; test.accesses = 123; mutable을 사용한 것에는 const를 쓴 데이터형에서도 값을 바꿀 수 있다.