c++ - 在 C++ 中,我可以拥有一个仅在特定条件下具有某些功能的类吗?

标签 c++ methods

我有这个代码:

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/

相关文章:

Java 公共(public)静态 boolean 方法

C# 和方法隐藏

c++ - 访问 std::string 中的空终止符(字符串下标超出范围)

c++ 二维静态数组与二维动态指针兼容

c++ - 我如何处理行为的组合?

java - 替换非静态方法java模拟

ios - 使方法在对象上工作

Java猜谜游戏项目(初级)

c++ - 在 C++ 中,如何在维护指向对象的指针的同时将对象推送到 vector ?

c++ - 作为函数参数的字符串对的 C++ vector 的默认规范在 gcc-4.1.2 上无效?