后面加个const 表明该函数不会改名成员函数的值!该函数可以被常量对象访问(const)。 注意 加了const 与不加const的函数是两个不同的函数! 用个例子说明其区别: #include <iostream> class A { public: void empty() { std::cout<<"call empty()\n"; } void empty() const { std::cout<<"call empty() const \n"; } }; void main() { const A a; //a常量对象,其只能访问常量函数 a.empty(); //访问 empty() const; 如果A中没有 empty() const 函数,编译器报错 A b; //非常量对象 b.empty(); //访问 empty() }
virtual void print() const = 0; (1)=0说明它是纯虚函数 (2)const表明不能修改其数据成员
自己记录一下:const 和 =0 没有关系,要分开理解 成员函数后面用 const 修饰,通俗的理解就是在这个函数内不能修改类的成员变量,除非那个成员变量是 mutable 的 =0表示这个成员函数是纯虚函数,也就是它可以没有定义,只有接口,由它的继承类具体定义它的行为,当然,你也可以给它定义缺省的函数体 一个类里如果包含 =0 的纯虚函数,那么