问题1:
类中数据成员和成员函数同名是否合适?
不合适,还不能完全说出为什么;
问题2:
如果类中成员是另一种类类型,构造函数初始值列表该怎么赋值?
封装的含义:
将成员私有化;
封装的意义:
①隐藏类实现的细节,用户只需要知道公有接口就可以使用该类;
②不管类的实现如何改变,只要公有接口不变即可,保证系统的兼容和健壮;
③防止程序意外的改变和误用;
④提高系统的可维护性,降低调试的难度,因为对象的修改只通过公有接口;
tips:
①类内成员只能通过=(拷贝赋值),或者{}来提供类内初始值;
class 和 struct的区别?
默认的访问权限不同,在第1个访问说明符之前struct的成员是public的,而class的成员是private的;
什么是类的静态成员:
声明前含有static关键字的成员是类的静态成员;(只与类有关而与对象无关的成员是静态成员)
类的静态成员的优点是什么?
类的静态成员只与类绑定而与对象无关,对象不必存储静态成员对象。所有该类对象都可以共享该类的静态成员对象。
与普通成员有何区别:
静态成员类型可以是不完全类型,比如静态成员类型可以是所属类类型,但是普通成员不可以;静态成员可以充当默认实参但是普通成员不可以。