摘要:
除static const修饰的数据成员可在定义时初始化外,其他数据成员不可以在定义时初始化,一般放到成员初始化列表或成员函数中进行初始化。 如下面编译出错: class B{ int a = 1;public:}; 类中成员数据也不能用extern auto register限定其存储类型。 因为类只是一种自定义数据类型,编译时并不给分配存储空间,也不给初始化。 下面编译仍出错: class ... 阅读全文
摘要:
关于friend,记住一点,friend函数不是类的成员函数,不含this指针,不能直接访问类的成员,要通过对象访问。 阅读全文
摘要:
关于const对象和成员函数,掌握2点:1.const对象只能调用const成员函数,不能调用非const成员函数。(这句话针对的是成员函数,当然也可调用公有数据成员)。2.const成员函数不允许修改数据成员。为什么需要const,仅从类和对象的角度看,如有一个日期类,我们希望定义一个人的生日,该生日不能被修改,怎么办?const Date birthday(1987,11,15);即我们需要定义一个常对象,不允许修改该对象的数据成员,const满足了我们的需求。如何保证常对象的数据成员不被修改呢,我们从修改数据成员的2种方式入手。一是通过对象名调用公有数据成员修改,因为birthday已经 阅读全文
摘要:
为什么需要static?比如一个学生类,班级总人数对每个学生对象而言应该是公共的变量。即类的设计需要一个存储公共信息的数据成员,因此static应运而生! 掌握2个知识点: 1.static成员在使用前必须进行定义性说明。 2.静态成员函数不能直接访问类的非静态数据成员,因为静态成员不含this指针。 1.static成员在使用前必须进行定义性说明。 定义性说明:<类型> <类名>::<静态... 阅读全文