본문 바로가기

Native/C++

상수 멤버

[code]
/*
상수 멤버는 한번 값이 정해지면 변경될 수 없는 멤버이다. 클래스 전체에서 참조하는 중요한 상수가 있다면 이를 상수 멤버로 정의하여 클래스에 포함시킬 수 있다. 예를 들어 수학 계산을 하는 클래스에서 원주율을 자주 사용한다면 다음과 같이 상수 멤버를 정의한다.

정적 상수 멤버는 클래스가 소유하기 때문에 객체별로 값을 따로 가질 수는 없다. 열거형이나 매크로 상수도 마찬가지로 한 번 값이 정해지면 생성되는 모든 객체가 같은 값을 사용하는 수밖에 없다. 상수가 객체별로 다른 값을 가져야 한다면 이때 쓸 수 있는 유일한 방법은 생성자의 초기화 리스트뿐이다.
*/

// ConstMember.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//

#include "stdafx.h"

class MathCalc
{
private:
    const double pie;

public:
    MathCalc(double apie):pie(apie){}
    void DoCalc(double r)
    {
        //cout << "반지름 = " << r << "원의 둘레 = " << r*2*pie << endl;
        printf("반지름 %.2f인 원의 둘레 = %.2f\n",r,r*2*pie);
    }
};

int _tmain(int argc, _TCHAR* argv[])
{
    MathCalc M(3.141592);
    M.DoCalc(5);

    return 0;
}
[/code]

'Native > C++' 카테고리의 다른 글

static_cast<int>(변수)랑 (int)변수 dynamic_cast reinterpret_cast  (0) 2013.10.02
.net 에서 cout 이 안될때..  (0) 2013.10.02
정적 멤버변수 이용  (0) 2013.10.02
정적 멤버 함수  (0) 2013.10.02
정적 맴버 변수  (0) 2013.10.02