Здесь класс d наследует класс b.Поскольку его видимость общедоступна, он может получить доступ к публичным членам класса b.
Когда я создаю newd, объект d.нет памяти, созданной для (члена с закрытыми данными класса b)
Но все же я могу получить и установить этот член, используя объект класса d.
Не могли бы вы объяснитьпочему это работает.Также, когда выделяется память для.
#include <iostream>
using namespace std;
class b{
int a;
public:
void get(){
cout << a << endl;
}
void set(int x){
a = x;
}
};
class d: public b{
int c;
public:
void getac(){
get();
cout << c << endl;
}
void setc(int x, int y){
set(x);
c = y;
}
};
int main() {
// your code goes here
d newd;
newd.setc(10, 20);
newd.getac();
newd.setc(12, 22);
newd.getac();
return 0;
}