【发布时间】:2010-12-06 03:32:37
【问题描述】:
是否可以将类的功能仅限于某些对象(在 C++ 中)。这意味着,假设一个类中有 10 个方法,而这个类有 10 个对象。是否可以让 object1 和 object2 只访问 3 个函数。 Object3、object4、object5、object6 访问 6 个函数。 其余对象访问所有功能?
我正在尝试实施一个访问控制系统,一般用户只能看到一些有限的功能。 Previlaged 用户可以拥有更多访问权限,并且管理员可以访问所有功能。
一种方法是使用继承,如下所示:
类 PublicFeatures { 公开:
//在这里添加一些方法; };
类 ProtectedFeatures:public PublicFeatures { 公开:
// 在此处添加更多方法; };
类 AdminFeatures:public ProtectedFeatures { 公开:
// 在此处添加其余方法; };
在这种情况下,我们根据我们想要的访问级别来实例化三个类中的任何一个类的对象。但我在想的是只有一个类,并以某种方式限制对该特定对象的某些方法的访问。
有可能做这样的事情吗?还是我必须采用不同的方法来实施访问控制?
【问题讨论】:
标签: c++