#include<iostream.h>
//基类
class Base
{
private:
int a;
protected:
int b;
public:
void setB(int x,int y)
{
a=x;
b=y;
}
void dispB()
{
cout<<a<<","<<b<<endl;
}
};
//派生类
class Derived:public Base
{
private:
int p;
protected:
int q;
public:
void setD(int x,int y)
{
//a=x; 不可直接访问基类中的private成员
b=y; //基类中的protected成员在派生类中还是protected成员,可以访问
setB(x,y); //基类中的public成员在派生类中还是public成员,可以访问
p=2*x;
q=2*y;
}
void dispD()
{
dispB(); //基类中的public成员在派生类中还是public成员,可以访问
cout<<p<<","<<q<<endl;
}
};
void main()
{
Derived dVar;
//dVar.a=10; 错误,不可直接访问
//dVar.b=20; 错误,不可直接访问
dVar.setB(1,2); //可以访问
dVar.dispB(); //可以访问
dVar.setD(10,20);
dVar.dispD();
}
//基类
class Base
{
private:
int a;
protected:
int b;
public:
void setB(int x,int y)
{
a=x;
b=y;
}
void dispB()
{
cout<<a<<","<<b<<endl;
}
};
//派生类
class Derived:public Base
{
private:
int p;
protected:
int q;
public:
void setD(int x,int y)
{
//a=x; 不可直接访问基类中的private成员
b=y; //基类中的protected成员在派生类中还是protected成员,可以访问
setB(x,y); //基类中的public成员在派生类中还是public成员,可以访问
p=2*x;
q=2*y;
}
void dispD()
{
dispB(); //基类中的public成员在派生类中还是public成员,可以访问
cout<<p<<","<<q<<endl;
}
};
void main()
{
Derived dVar;
//dVar.a=10; 错误,不可直接访问
//dVar.b=20; 错误,不可直接访问
dVar.setB(1,2); //可以访问
dVar.dispB(); //可以访问
dVar.setD(10,20);
dVar.dispD();
}