#include<iostream>
using namespace std;
class Cat
{
protected:
float radius;
public :
Cat(float r)
{
radius=r;
}
float Area()
{
return 3.14f*radius*radius;
}
};
class Dog:public Cat
{
private :
float height;
public:
Dog(float r,float h):Cat(r)
{
height=h;
}
float Area()
{
cout<<"this is Dog area\n";
float botarea=0,sidearea=0;
botarea=Cat::Area()*2;
sidearea=2*3.14*radius*height;
return botarea+sidearea;
}
float Volume()
{
return Cat::Area()*height;
}
};
int main()
{
Dog dog(10,5);
cout<<"BottomArea="<<dog.Cat::Area()<<endl;
//访问基类成员
cout<<"Area="<<dog.Area()<<endl; //访问派生类成员
cout<<"Volume="<<dog.Volume()<<endl;
return 0;
}
using namespace std;
class Cat
{
protected:
float radius;
public :
Cat(float r)
{
radius=r;
}
float Area()
{
return 3.14f*radius*radius;
}
};
class Dog:public Cat
{
private :
float height;
public:
Dog(float r,float h):Cat(r)
{
height=h;
}
float Area()
{
cout<<"this is Dog area\n";
float botarea=0,sidearea=0;
botarea=Cat::Area()*2;
sidearea=2*3.14*radius*height;
return botarea+sidearea;
}
float Volume()
{
return Cat::Area()*height;
}
};
int main()
{
Dog dog(10,5);
cout<<"BottomArea="<<dog.Cat::Area()<<endl;
//访问基类成员
cout<<"Area="<<dog.Area()<<endl; //访问派生类成员
cout<<"Volume="<<dog.Volume()<<endl;
return 0;
}