常对象与常成员函数
常对象的声明形式:(必须进行初始化,不能被更新)
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; }
浙公网安备 33010602011771号