C++ 类 找错
/**********************************名称:10.cpp作者:0909030328李盼盼功能:定义一个图形类,包括x和y两个私有数据,构造...
/**********************************
名称:10.cpp
作者:0909030328 李盼盼
功能:定义一个图形类,包括x和y两个私
有数据,构造函数和求面积(面积函数返
回0)的函数。从基类的图形类中派生出两
个类。一个派生类是矩形类,在该类中,
基类的x, y做作矩形的长和宽;另一个派
生类是圆类,在该类中,新添加了成员是
半径radius,半径的值等于x,y的坐标到原
点的距离。在各派生类中,重新定义求面积
的函数,并在主函数中演示结果。
完成时间:12.25
***********************************/
#include<iostream.h>
#include<math.h>
class diagram
{
private:
double x,y;
public:
fun();
void gets(int a,int b)
{x=a;y=b;}
double getx(){return x;}
double gety(){return y;}
virtual double area()
{return 0;}
};
class rectangle:public diagram
{
public:
double area()
{
cout<<"矩形的面积是:"<<getx()*gety()<<endl;
return 0;
}
};
class circle:public diagram
{
private:
double radius;
public:
void getsR()
{
radius=sqrt(pow(getx(),2)+pow(gety(),2));
}
double area()
{
cout<<"圆形的面积是:"<<3.14*pow(radius,2)<<endl;
return 0;
}
};
void main()
{
int a,b;
cout<<"请输入两个数:";
cin>>a>>b;
diagram m;
m.gets(a,b);
m.getx();
m.gety();
circle l;
l.getsR();
diagram *p;
rectangle A;
p=& A;
p->area();
circle B;
p=&B;
p->area();
}
运行不能得到正确答案
主要 想问一下 在子类的成员函数中 怎样访问基类中的私有数据 展开
名称:10.cpp
作者:0909030328 李盼盼
功能:定义一个图形类,包括x和y两个私
有数据,构造函数和求面积(面积函数返
回0)的函数。从基类的图形类中派生出两
个类。一个派生类是矩形类,在该类中,
基类的x, y做作矩形的长和宽;另一个派
生类是圆类,在该类中,新添加了成员是
半径radius,半径的值等于x,y的坐标到原
点的距离。在各派生类中,重新定义求面积
的函数,并在主函数中演示结果。
完成时间:12.25
***********************************/
#include<iostream.h>
#include<math.h>
class diagram
{
private:
double x,y;
public:
fun();
void gets(int a,int b)
{x=a;y=b;}
double getx(){return x;}
double gety(){return y;}
virtual double area()
{return 0;}
};
class rectangle:public diagram
{
public:
double area()
{
cout<<"矩形的面积是:"<<getx()*gety()<<endl;
return 0;
}
};
class circle:public diagram
{
private:
double radius;
public:
void getsR()
{
radius=sqrt(pow(getx(),2)+pow(gety(),2));
}
double area()
{
cout<<"圆形的面积是:"<<3.14*pow(radius,2)<<endl;
return 0;
}
};
void main()
{
int a,b;
cout<<"请输入两个数:";
cin>>a>>b;
diagram m;
m.gets(a,b);
m.getx();
m.gety();
circle l;
l.getsR();
diagram *p;
rectangle A;
p=& A;
p->area();
circle B;
p=&B;
p->area();
}
运行不能得到正确答案
主要 想问一下 在子类的成员函数中 怎样访问基类中的私有数据 展开
4个回答
展开全部
主要 想问一下 在子类的成员函数中 怎样访问基类中的私有数据
你在之类中定义一个基类的对象 应该可以访问这个对象成员的私有数据
你在之类中定义一个基类的对象 应该可以访问这个对象成员的私有数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
私有的函数是不可能被子类来调用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再派生类当中.顶一个接口..专门用来实现访问基类中的数据.
还有你的class diagram这个类的构造函数不是默认的而是你自定义的带有参数,d当然你再显示的调用的时候就不是默认的参数了.而你的自己调用,不是程序自动调用的.
还有你的class diagram这个类的构造函数不是默认的而是你自定义的带有参数,d当然你再显示的调用的时候就不是默认的参数了.而你的自己调用,不是程序自动调用的.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询