【发布时间】:2010-09-02 01:21:55
【问题描述】:
我想在派生类中将基类中的公共成员设为私有,如下所示:
class A {
public:
int x;
int y;
};
class B : public A {
// x is still public
private:
// y is now private
using y;
};
但显然“使用”不能这样使用。有没有办法在 C++ 中做到这一点?
(我不能使用私有继承,因为 A 的其他成员和函数必须仍然是公共的。)
【问题讨论】:
-
这感觉像是一个尴尬的设计。即使您可以对 B 类执行此操作,人们需要做的只是向上转换为指向 A 的指针或引用,然后他们就可以访问该成员。
标签: c++ class inheritance