是否可以在运行时在 C++ 语言中更改类属性。例如如下:
class base
{
public:
//public members
private :
//private members
};
class derived1 : attribute base
{
public:
//public members
base::<base method name> //so that it an be made accessible from the main - outside the class.
private:
//private members
};
是否可以在运行时动态更改属性-public、private、protected?
Rgds, 柔软的
最佳答案
是编译器确保您不会访问 private
成员。一旦编译器完成其工作并生成二进制代码,所有关于私有(private)性的信息都会丢失。
所以不,你不能在运行时改变它。
我不知道您为什么要这样做,但是如果您希望某些函数在某些时候能够被调用,而其他函数则不能,您可以使用一个变量来定义它们是否可以被调用。然后,在该函数的顶部:
int Class::function(...)
{
if (!function_is_allowed)
return OPERATION_NOT_ALLOWED;
...
}
关于c++ - 在 C++ 中,可以在运行时设置/更改类属性 - 公共(public)、私有(private)或 protected 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10515723/