我有一个类::
Class Test
{
public:
void Check(){//dosomething};
static void call(){//I want to call check()};
};
Run Code Online (Sandbox Code Playgroud)
因为call()是一个静态成员,所以它不能调用非静态函数,所以我认为在call()中使用Check()是创建Test指针然后指向Check(),但我认为它是不好,有更好的方法吗?我可以在静态函数中重写所有内容,所以我不需要再次调用Check(),但我想要的是重用Check()中的代码并避免重复代码.
Axe*_*xel 11
由于您需要一个实例,您必须创建一个实例,使用静态实例或将其传递给call():
Class Test
{
private:
static Test instance;
public:
void Check(){//dosomething};
// use one of the following:
static void call(Test& t){ t.check(); };
static void call(){ Test t; t.check(); };
static void call(){ instance.check(); };
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21360 次 |
| 最近记录: |