C++学习笔记——常函数()

//#include<iostream>
//using namespace std;
//
//class Seven
//{
//public:
//    //构造函数和析构函数不能定义为常函数
//    int a;
//
//    Seven()
//    {
//        a = 12;
//    }
//
//    ~Seven()
//    {
//        
//    }
//
//    void Show() const   //常函数的函数定义形式,常函数的this指针类型是 例如“const Seven*”
//    {
//        //a = 13;  //在这里的语句是错误的,因为常函数不能修改函数外的数据成员,只能调用和使用函数外的数据成员
//        //this->a=12;  //这里也是错误的,this指针也不能修改常函数的数据成员
//        int b = 3;                                //内部定义的数据成员是可以进行修改的
//        b = a * b;                                //对数据成员的使用
//        cout << "I am Show()" << endl;
//        cout << a <<" " <<b<< endl;                //对数据成员的调用
//    }
//    void fun()
//    {
//        cout << "普通函数" << endl;
//    }
//};
//
//int main()
//{
//    Seven a1;
//    const Seven a2;                //常对象只能调用常函数   ,不能调用普通函数
//    //a2.fun();                    //这里语句错误,常对象只能调用常函数
//    a1.Show();
//
//    return 0;
//}
————————
//#include<iostream>
//using namespace std;
//
//class Seven
//{
//public:
//    //构造函数和析构函数不能定义为常函数
//    int a;
//
//    Seven()
//    {
//        a = 12;
//    }
//
//    ~Seven()
//    {
//        
//    }
//
//    void Show() const   //常函数的函数定义形式,常函数的this指针类型是 例如“const Seven*”
//    {
//        //a = 13;  //在这里的语句是错误的,因为常函数不能修改函数外的数据成员,只能调用和使用函数外的数据成员
//        //this->a=12;  //这里也是错误的,this指针也不能修改常函数的数据成员
//        int b = 3;                                //内部定义的数据成员是可以进行修改的
//        b = a * b;                                //对数据成员的使用
//        cout << "I am Show()" << endl;
//        cout << a <<" " <<b<< endl;                //对数据成员的调用
//    }
//    void fun()
//    {
//        cout << "普通函数" << endl;
//    }
//};
//
//int main()
//{
//    Seven a1;
//    const Seven a2;                //常对象只能调用常函数   ,不能调用普通函数
//    //a2.fun();                    //这里语句错误,常对象只能调用常函数
//    a1.Show();
//
//    return 0;
//}