클래스의 초기화
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 {
public:
void show() const;
private:
const int ss = 2;
double costs[ss]; //안된다.
enum {soi = 12};
double costs2[soi]; //된다.
static const int ss2 = 2;
double costs3[ss]; //된다.
};
- 클래스 선언 안에 주어지는 열거체는 클래스 사용범위를 가진다.
- const는 객체가 생성되기 전까지 값이 들어가지 않기 때문에 안에서의 상수값을 가질 수 없어서 costs[]안에 수로 넣지못한다.
- static을 사용하면 다른 정적변수들과 함께 저장이되는 상수를 생성한다. 그래서 값이 바뀌지않는 const를 사용한다.
다른 객체에서도 하나의 static상수를 사용하므로 유의하여야한다.
함수 안에서의 static사용
다른 객체들인데도 불구하고 static이면 주소도 동일하고 같은 변수를 사용한다.
도움 사이트 : https://boycoding.tistory.com/252
'C++ > Basic' 카테고리의 다른 글
[C++] 연산자 오버로딩과 프렌드 (0) | 2021.06.24 |
---|---|
[C++] 열거체 (0) | 2021.06.21 |
객체 지향 프로그래밍 (0) | 2021.06.18 |
[C++] using과 namespace (0) | 2021.06.17 |
[C++] new연산자 (0) | 2021.06.17 |