C++ 클래스 - const

진경천·2023년 9월 20일
0

C++

목록 보기
41/90

멤버에 대한 const

const는 상수를 의미하며 한번 초기화하면 그 값을 변경할 수 없는 멤버 변수를 의미한다.

class Person{
private:
	const string _naem;		// inline으로 직접 초기화도 가능
    
public:
	Person(const string& name) : _name(name){
    
    }
};

상수 멤버 함수

상수 멤버 함수란 호출한 객체의 데이터를 변경할 수 없는 멤버 함수를 의미한다.
함수의 원형에 const를 붙여서 사용

class Person {
private:
	string _name;
	float _weight;
	float _height;

public:
	Person(const string& name, float weight, float height)
		: _name(name), _weight(weight), _height(height) {

	}

	float getWeight(/*const Person* this */) const {
		// Person* this가 암시적으로 넘어옴
		// const를 붙임으로써 객체 변경이 불가능함
		// main에서 상수의 선언을 할수 있게 도와준다
		return _weight;
	}
};
  • const의 사용이 가능한 경우
Person person0("Jam0", 75, 132);
const Person person1 = person0;

const Person person0("Jam0", 75, 132);
Person person1 = person0;

Person* person0 = new Person("Jam0", 75, 132);
const Person* person1 = person0;
  • const 사용이 불가한 경우
const Person* person0 = new Person("Jam0", 75, 132);
Person* person1 = person0;
profile
어중이떠중이

0개의 댓글