1. 面向对象设计中的继承和组合,下面说法错误的是?()
组合说的是一部分,继承说的是一种,首选组合,继承强调的是类与类之间的关系,在设计中,我们的设计原则是“低耦合,高内聚”。尽量不要和别人产生较多的关联。
2.有一个类B继承自类A,他们数据成员如下:
- class A {
- ...
- private:
- int a;
- };
- class B : public A {
- ...
- private:
- int a;
- public:
- const int b;
- A &c;
- static const char* d;
- B* e;
- }
一定要通过初始化列表进行初始化:常量成员,引用成员
静态成员变量在类外进行初始化
普通指针成员既可以通过初始化列表进行初始化,也可以在{}里进行初始化
3.下列哪种函数可以定义为虚函数()
构造函数对象还没有构造出来不可能形成多态
内联函数最终会被展开,没有地址,无法放到虚表当中
静态成员函数没有this指针,调用虚函数需要依靠this指针
编程题