常对象与常成员函数

  常对象的声明形式:(必须进行初始化,不能被更新)

  const  类名  对象名

  常引用:(被引用的对象不能被更新)

  const  类型说明符  &引用名

  常数组:(数组元素不能被更新)

  类型说明符  const  数组名[大小]

  常指针:(指向常量的指针,指向的内容不能通过该指针改变,但可以改变指向的对象)

  const  类型说明符  *指针名

 

  常成员函数的声明形式:

       返回类型  函数名[形参列表]  const

 

  常对象不能被赋值,只能被初始化,初始化在类的初始化列表中进行。

  常对象不可以调用类的普通成员函数,但可以调用类的常成员函数。

       友元函数打破了类的封装性,但可以限定友元函数的形参为常引用,以此达到保护数据的目的。

 

//常对象与常成员函数
#include <iostream>
using namespace std;
class A{
public:
    A(int a1,int a2):a1(a1),a2(a2){}
    void print();
    void print() const;
private:
    int a1,a2;
};
void A::print(){
    cout<<a1<< ":"<<a2<<endl;
}
void A::print() const{
    cout<<a1<<":"<<a2<<"  const"<<endl;
}
int main(){
    A a(3,5);
    a.print();//调用void print()
    const A b(4,7);
    b.print();//调用void print() const
    return 0;
}

 

posted @ 2020-07-01 20:42  欧尼酱12168  阅读(216)  评论(0)    收藏  举报