无论哪种继承,都有公有继承、私有继承和保护继承
不同的继承方式,派生类对基类成员拥有不同的访问权限。
继承方式的默认情况是私有继承方式。
公有继承单继承的例子:
#include<iostream>
using namespace std;
class Point//定义基类
{
public:
void setxy(int myx,int myy)
{
X=myx;
Y=myy;
}
void movexy(int x,int y)
{
X+=x;
Y+=y;
}
protected:
int X,Y;
};
class Circle:public Point//定义派生类,公有继承方式
{
public:
void setr(int myx,int myy,int myr)
{
setxy(myx,myy);
R=myr;
}
void display();
protected:
int R;
};
void Circle::display()
{
cout<<"The position of center is";
cout<<"("<<X<<")"<<Y<<")"<<endl;
cout<<"The radious of Circle is"<<R<<endl;
}
int main()
{
Circle c;//派生类对象
c.setr(4,5,6);//派生类对象访问自己的成员函数
cout<<"The start data of Circle:"<<endl;
c.display();
c.movexy(7,8);
cout<<"The new data of Circle:"<<endl;
c.display();
return 0;
}
结果:
The start data of Circle:
The position of center is(4)5)
The radious of Circle is6
The new data of Circle:
The position of center is(11)13)
The radious of Circle is6