please shed a light ,thanks in advance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
#include<iostream>
using namespace std;
class Sea
{
public:
virtual void get();
virtual void print();
private:
int a;
string b;
char c;
};
void Sea::get()
{
cin>>a>>b>>c;
}
void Sea::print()
{
cout<<a<<' '<<b<<' '<<c<<' ';
}
class Sea1:private Sea
{
public:
virtual void get();
virtual void print();
private:
int a;
string b;
};
void Sea1::get()
{
Sea::get();
cin>>a>>b;
}
void Sea1::print()
{
Sea::print();
cout<<a<<' '<<b;
}
int main()
{
Sea1 a;
Sea *r;
r=&a;
r->get();
r->print();
return 0;
}
|
Last edited on
Right, you can't get a Sea pointer from a Sea1 object because it inherits privately. Only Sea1 and its friends can access the Sea portion of it.
Peter is right, for this kind of thing you likely want public inheritance.