【问题标题】:How to call a class function in c++ without object declaration? [duplicate]如何在没有对象声明的情况下在 C++ 中调用类函数? [复制]
【发布时间】:2021-12-31 11:08:47
【问题描述】:

我在一个类中创建了一个函数。如何在不为类声明任何对象的情况下在 int main() 中调用该函数?

【问题讨论】:

  • 不创建对象?还是不参考课程?
  • 不清楚你的意思(你有点滥用词汇,所以我们无法分辨);可能你想做一些没有意义的事情!请给我们一个最小的,但编译的例子,说明你的意思。
  • stackoverflow.com/questions/20362973/static-functions-in-c 也许你在找什么。但不是很清楚
  • 也许可以告诉我们你为什么要这样做......
  • 基本上这就是问题所在 - 通过创建一个名为“Average”的类来打印用户输入的三个数字的平均值,该类具有计算和打印平均值的功能,而无需创建 Average 类的任何对象。

标签: c++ function class object


【解决方案1】:

您可以通过使用静态成员函数来做到这一点,如下所示:

#include <iostream>
class NAME 
{
    public:
    //define a static member function
    static void print_st() 
    {
        std::cout<<"static print_st callled"<<std::endl;
    }
};

int main()
{
   //call static member function without using an object
   NAME::print_st();
   return 0;
}

【讨论】:

  • 很抱歉一开始描述不正确...我知道如何使用类的对象调用函数,但我想知道如何在没有对象声明的情况下做同样的事情。
  • @noob 您可以为 static 成员函数执行此操作,如我编辑的答案/代码中所示。我已经在我的答案中添加了它。看看吧。
  • 好的..我去看看
【解决方案2】:

您可以做的是将类中的函数编写为静态的。这使您可以在不声明对象的情况下调用函数

【讨论】:

    猜你喜欢
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2018-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多