问题 问答题

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
class A
public:
A(const char*na)strcpy(name,na);
private:
char name[80];

class B:public A
public:
B(const char*nm):A(nm)
void show();

void B::show()
cout<<"name:"<<name<<endl;

void main()
B b1("B");
b1.show();

答案

参考答案:private:因为name如果是私有的,在派生类中无法访问,而基类没有提供成员函数来访问name,所以更改name访问权限为公有或保护,这样对于派生类来说是透明的。应改为public:或protected:。

选择题
实验题