我有这个代码:
class A
{
public:
A(int _a, int _b = 0) : a(_a), b(_b) {}
void f(){}
#if _b == 0
void g(){}
#endif
private:
int a;
int b;
};
int main()
{
A x(1);
x.g();
return 0;
}
我希望 A 仅在 b 为 0 时使用方法 g()。我知道上面的代码不起作用,但我想知道是否有某种方法可以实现这一点。
最佳答案
没有。这些值仅在运行时已知。但是您可以检查函数中的值并进行拟合。
关于c++ - 在 C++ 中,我可以拥有一个仅在特定条件下具有某些功能的类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12430128/