c++ - 类的静态函数和类的构造函数是什么关系?

标签 c++ class constructor static-methods

每次在类上调用静态函数时会发生什么?什么时候执行构造函数?

最佳答案

没有依赖关系,即不用构造实例就可以调用静态方法,语法为“Class::method()”

class someclass
{
public:
    someclass()
    {
        std::cout << "someclass constructor" << std::endl;
    }

    static void staticmethod()
    {
        std::cout << "someclass staticmethod" << std::endl;
    }
};

然后

int main(int argc, char** argv)
{
    someclass::staticmethod();
    return 0;
}

您会看到打印出“someclass staticmethod”,但没有提及或不需要调用构造函数。

关于c++ - 类的静态函数和类的构造函数是什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5658499/

相关文章:

c++ - 等待事件的线程并不总是捕获事件信号

c++ - 什么时候从函数返回引用?

printing - 通过 libcups 以编程方式打印双面打印的正确方法是什么?

java - 如何实现/模拟作业调度程序?

C++ 列表类 vs2010 Ultimate

Java - 给空对象的字段一个值或声明没有构造函数的对象不为空

c++ - 隐式调用的结构析构函数 - 我的语法有误吗?

c++ - "no appropriate default constructor available"用于 C++ 派生类

c++ - (SFML)按下键时播放器构造函数未更新为正确的动画

使用 apply() 函数的 JavaScript 函数构造函数链接