摘要:
5-0. 一般而言,class 的data member 应该被初始化,并且只在constructor中是在class 的其他member functions 中指定初值。其他任何操作都将破坏封装性质,是class 的维护和修改更加困难。 图片5-0; (1)纯虚拟函数的存在注:编译器不会在扩展de 阅读全文
摘要:
4-1. Member 的各种调用方式静态成员函数(static member functions,不属于对象,没有this指针)不能直接存取Nonstatic数据;同时不能被声明为const(const用于后置修饰函数时只用于限定成员函数,意味着将被修饰的成员函数的隐式参数——this指针由原来的 阅读全文
摘要:
3-0. 类所占的内存大小受到三个因素的影响:(1)语言本身所造成的额外负担(Virtual base classes);(2)编译器对于特殊情况所提供的优化处理(空基类优化);(3)Alignment的限制(对齐);注:Empty Virtual base class提供一个Virtual int 阅读全文
摘要:
2-0. 关键字explicit被引入C++,提供给程序员一种方法,使他们能够制止“单一参数的constructor”被当做一个conversion运算符。 2-1.Default Constructor的建构操作:“default constructor...在需要的时候被编译器产生出来”。关键字 阅读全文
摘要:
1-1. 关键字struct和class的一点区别:(1)struct内部默认public属性,class内部成员默认private属性;(2)template中只能使用class来抽象类型参数,不能使用struct,template并不打算和C兼容。 1-2. C程序员有时会把单一元素的数组放在一 阅读全文