关于以下 C++ 代码,( )行代码会引起编译错误。
#include <iostream>
using namespace std;
class Base {
private:
int a;
protected:
int b;
public:
int c;
Base() : a(1), b(2), c(3) {}
};
class Derived : public Base {
public:
void show() {
cout << a << endl; // Line 1
cout << b << endl; // Line 2
cout << c << endl; // Line 3
}
};C++类:构造函数(对象创建时调用)、析构函数(对象销毁时调用)、虚函数(实现多态)。构造函数不能为虚。
构造函数不能是虚函数(虚表在构造函数完成后才建立)。析构函数可以且通常应该为虚函数(防止内存泄漏)。
【考点】类成员访问权限|继承机制|private/protected/public语义
六级"面向对象程序设计"模块。命题人把访问控制这个核心概念伪装成"代码阅读"题,卡住的是大量考生对成员修饰符语法的混淆——很多人背过"私有对外不可见",却说不清"衍生类能否访问基类私有成员"。