关于派生类访问基类私有成员的问题
/*编写一个程序计算出球、圆柱和圆锥的表面积和体积。要求:(1)定义一个基类圆,至少含有一个数据成员半径;(2)定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员...
/*
编写一个程序计算出球、圆柱和圆锥的表面积和体积。
要求:
(1) 定义一个基类圆,至少含有一个数据成员半径;
(2) 定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。
S=4*π*r(平方)
V=[4*π*r(立方)]/3
圆柱体表面积2πR^2+2πRh
体积 hπR^2
圆锥体积(1/3)hπR^2
表面积πR^2 +πrL L(母线长度)
(3) 定义主函数,求球、圆柱、圆锥的和体积。*/
#include"iostream.h"
const double pi=3.14159;
class yuan
{
double r;
};
class qiu:public yuan
{
double s,v;
public:
};
int main()
{
}除了用友员函数,我在qiu类中该如何访问基类r的值计算面积和体积?请大家帮忙解答 展开
编写一个程序计算出球、圆柱和圆锥的表面积和体积。
要求:
(1) 定义一个基类圆,至少含有一个数据成员半径;
(2) 定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。
S=4*π*r(平方)
V=[4*π*r(立方)]/3
圆柱体表面积2πR^2+2πRh
体积 hπR^2
圆锥体积(1/3)hπR^2
表面积πR^2 +πrL L(母线长度)
(3) 定义主函数,求球、圆柱、圆锥的和体积。*/
#include"iostream.h"
const double pi=3.14159;
class yuan
{
double r;
};
class qiu:public yuan
{
double s,v;
public:
};
int main()
{
}除了用友员函数,我在qiu类中该如何访问基类r的值计算面积和体积?请大家帮忙解答 展开
2个回答
推荐于2018-03-06
展开全部
基类private的成员是不能够在派生类中被访问到的。你可以这样解决:一种方法是把基类中你想在派生类访问的改成protected访问权限。比如:class yuan
{protected:
double r;
};现在你可以在派生类访问r了。
另一种方法是在基类中添加一个成员函数来获取这个成员变量的值。class yuan
{
double r; public:double GetValueR(){return r;}
};现在你可以在派生类调用GetValueR来获取R值。但是注意GetValueR()这个函数的访问权限必须是public或者protected,如果它本身也是private那么就跟r一样,在派生类是无法访问的了。
{protected:
double r;
};现在你可以在派生类访问r了。
另一种方法是在基类中添加一个成员函数来获取这个成员变量的值。class yuan
{
double r; public:double GetValueR(){return r;}
};现在你可以在派生类调用GetValueR来获取R值。但是注意GetValueR()这个函数的访问权限必须是public或者protected,如果它本身也是private那么就跟r一样,在派生类是无法访问的了。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
2013-07-20
展开全部
楼主用的是public 继承,那么你把基类中的r声明为public不就可以直接使用了嘛
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询