#ifndef CHAP_7_H
#define CHAP_7_H
#include "iostream"
using namespace std;
class A
{
public:
A();
void test();
void const_test();
void const_test() const;
private:
int x;
const int y;
};
A::A():y(10),x(20)
{
cout<<"调用构造函数"<<endl;
}
void A::test()
{
cout<<"调用函数test!"<<endl;
}
void A::const_test()
{
cout<<"const关键字可以参与重载函数!"<<endl;
}
void A::const_test() const
{
cout<<this->x<<" "<<this->y<<endl;//常成员函数既可以调用常成员数据也可以调用非常成员数据
cout<<"调用常函数const_test"<<endl;
//this->test();//常成员函数只能调用常成员函数,不能调用非常函数
}
#endif
——————————————————————————————————————————————————————
// chap_7.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "chap_7.h"
int _tmain(int argc, _TCHAR* argv[])
{
A a;
a.const_test();//当重载时,就选用哪个非常函数,如果没有非常函数就选用常函数
a.test();
const A b;
b.const_test();
//b.test();//常对象只能调用常成员函数
int i;
cin>>i;
return 0;
}