상세 컨텐츠

본문 제목

const도 오버로딩의 조건에 포함

C++/클래스

by nowpassion 2008. 5. 1. 15:28

본문

- const도 함수의 기능을 결정짓는 요소로 오버로딩의 조건에 포함될 수 있다고 보는 것이 옳다.

ex)
/*21.cpp*/
#include <iostream>
using std::cout;
using std::endl;

class A
{
private:
        const int data_a;
        int data_b;

public:
       A(int _c) : data_a(_c){
           cout << "A class 디폴트 생성자" << endl;
           data_b = 5;
       }
      
       ~A(){
       }           
             
      void setA(){
            cout << "일반 함수" << endl;
       }
      
      void setA() const {
            cout << "const 함수" << endl;
       }

       void getA() {
            cout << "data_a : " << data_a << endl;
       }
      
       void getA() const {
            cout << "data_b : " << data_b << endl;
       }
};

int main()
{
    const int *a;
    const A class_a(3);

    /*const 객체에서는 const멤버만 허용한다.*/
    /*결국 오버로딩의 조건으로 인식한다.*/
    class_a.setA();  
    class_a.getA();
    return 0;
}

관련글 더보기