c++子类访问父类私有成员

2024-12-04 10:14:09
推荐回答(5个)
回答(1):

一般好的项目,代码风格,设置成private的成员变量,不应该直接访问它的,最好为Circle::r写个成员函数,就可以间接访问了。比如
int Circle::Getr()
{
return r
}

另外,如果你非要不该父类的情况下访问,也是可以的,比如用类的成员指针,具体使用不好理解,风格不好。

回答(2):

先把所有 int area() 成员函数都改成 double area()。复用 area 函数。

double volume(){return 3.14*r*r*h;}
改为:
double volume()
{
return ( Circle::area() * h );
}

回答(3):

circle中提供int getR(){return r;}; public 的(protected也可以但一般public)
然后double volume(){return 3.14*getR()*getR()*h;}//

回答(4):

访问父类私有成员 能不能用友元函数 friend

回答(5):

写个成员函数获取啊 添加进父类
int getradio(){return r;}