- 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;
}