C++(56)
-
멤버 메서드의 선언, 정의 분리
//멤버 메서드의 선언, 정의 분리하기 #include using namespace std; class Vector2{ public: Vector2(); Vector2(float x, float y); float GetX() const; float GetY() const; private: float x; float y; }; int main(){ } Vector2::Vector2() :x(0), y(0){ } Vector2::Vector2(float x, float y): x(x), y(y) { } float Vector2::GetX() const {return x;} float Vector2::GetY() const {return y;}
2022.04.10 -
예외처리
int fact(int n){ if(n == 0) return 1; return n * fact(n-1); } 위와 같이 팩토리얼을 반환하는 함수가 있다고 하자. 아래와 같이 사용자에게 n값을 입력받는다고 할때 음수 값을 받지 않도록 예외 처리를 해주어야 한다. int main(void) { int n; cin>>n; if (n < 0){ cout
2022.04.10 -
범위지정 연산자
지역 변수의 이름이 전역변수의 이름과 같을 경우, 전역변수는 지역변수에 의해 가려진다는 특징이 있다. int val = 20; int SimpleFunc(void) { int val = 100; val += 20; //지역변수 val의 값 20증가 } 범위지정 연산자를 사용하면 전역변수에 접근 가능하다. int val = 20; int SimpleFunc(void) { int val = 100; val += 20; //지역변수 val의 값 20증가 ::val -=10; // 전역변수 val의 값 10 감소 }
2022.04.09 -
inline 함수
2022.04.09 - [C++] - 매크로 매크로 함수의 장점 > 일반적인 함수에 비해 실행속도의 이점이 있다. 매크로 함수의 단점 > 정의하기 어렵다. 복잡한 함수를 매크로의 형태로 정의하는데 한계가 있다. 매크로 함수는 정의가 복잡하니 일반 함수처럼 정의가 가능할수 있게 할순 없을까? C++의 인라인 함수는 이러한 요구를 100% 만족한다. 인라인함수 inline int SQUARE(int x) { return x*x; } 하지만 인라인함수는 매크로 함수의 장점을 완전히 대체하진 못했다. #define SQUARE(X) ((X)*(X)) 위와 같이 매크로 함수가 정의되면 이는 자료형에 의존하지 않는다. 하지만 int형으로 정의된 함수를 자료형에 의존적일 수 밖에 없다. inline int SQUAR..
2022.04.09 -
매크로
#define을 이용해 다음과 같은 코드가 가능하다. #include using namespace std; #define PRINT_HELLO cout
2022.04.09 -
상수
변수 : 변할 수 있는 수 상수 : 변하지 않는 수 const 매크로 enum const 상수의 경우 실수로 값이 바뀌는 경우가 없어야 한다. float pi = 3.141562; float a = pi; float b = pi *= 2; //pi에 6.28312 저장됨. > 아래와 같이 const를 써 해결할 수 있다. const float PI = 3.141562;//상수는 일반적으로 대문자를 사용한다. float a = PI; float b = PI *= 2; //오류발생! const로 선언했기에 바꿀 수 없다! > const를 사용한 PI는 메모리 상에 직접 저장된다. 매크로 #define PI 3.141592//매크로 int main(void) { float a = PI; return 0; } ..
2022.04.09