C++ 关于C++;班级

C++ 关于C++;班级,c++,C++,我有两个基本问题。第一个是关于其他类中的函数。如果我有一个头文件,其中包含一个类,并且我想在我创建的另一个类中使用该函数,我是否总是必须构造一个类对象来运行该类中的函数,如: someclass class; <----object construction class.somefunction(); someclass 如果您的函数声明为static,则不需要对象实例来调用它 class Foo { public: static void Bar() {}

我有两个基本问题。第一个是关于其他类中的函数。如果我有一个头文件,其中包含一个类,并且我想在我创建的另一个类中使用该函数,我是否总是必须构造一个类对象来运行该类中的函数,如:

someclass class; <----object construction
class.somefunction();  

someclass 如果您的函数声明为
static
,则不需要对象实例来调用它

class Foo
{
    public:
        static void Bar() {}
};

// ...later
Foo::Bar();

回答你的第二个问题,是的,有时候是可以的。我以前用过相互关联的小型实用程序结构。通常我只是很懒,不想麻烦创建单独的文件。

如果您的函数声明为
静态
,则不需要对象实例来调用它

class Foo
{
    public:
        static void Bar() {}
};

// ...later
Foo::Bar();
回答你的第二个问题,是的,有时候是可以的。我以前用过相互关联的小型实用程序结构。通常我只是懒洋洋的,不想麻烦把文件分开

有没有一种方法可以通过对象构造调用函数

仅当函数声明为静态时。(好吧,那是个谎言,如果你破坏了类型系统,在不构建对象的情况下是可能的,但这不是一个好主意)

第二个问题是把多个小类放在一个头文件中可以吗

当然,一直都是这样

有没有一种方法可以通过对象构造调用函数

仅当函数声明为静态时。(好吧,那是个谎言,如果你破坏了类型系统,在不构建对象的情况下是可能的,但这不是一个好主意)

第二个问题是把多个小类放在一个头文件中可以吗


当然,一直都是这样

函数只有在作用于类的对象时才应该是成员函数。不作用于对象的函数应该是纯全局函数(或静态类):


关于你的第二个问题,是的,没关系。一般来说,每个文件只包含一个类,但在我看来,在一个文件中包含几个小类并没有什么错。

函数只有在作用于类的对象时才应该是成员函数。不作用于对象的函数应该是纯全局函数(或静态类):


关于你的第二个问题,是的,没关系。一般来说,每个文件只包含一个类,但在我看来,在一个文件中包含几个小类并没有什么错。

1前面已经提到过静态

2做感觉自然的事。把相关的课程放在一起。JAva的一个问题是它狂热地强制每个文件一个类

然而,不可原谅的罪恶正在将类a的实现扩展到类b、c和d的实现中


Ie类的所有实现都应该在一个.cpp文件中

如前所述,1静态

2做感觉自然的事。把相关的课程放在一起。JAva的一个问题是它狂热地强制每个文件一个类

然而,不可原谅的罪恶正在将类a的实现扩展到类b、c和d的实现中

Ie类的所有实现都应该在一个.cpp文件中

  • delcare将函数设置为静态
  • 你说的是内部阶级吗?如果是这样的话,那就完全合法了
  • delcare将函数设置为静态
  • 你说的是内部阶级吗?如果是这样的话,那就完全合法了

  • 我猜你的意思是没有对象构造?我猜你的意思是没有对象构造?你(或你正在学习的人)可能来自Java背景,所有函数都必须进入一个类。在C++中没有这样的限制,所以如果你觉得这是一个类的函数,你应该完全自由地写,如果它更有意义的话。我想你是想对问题帖子发表评论。你(或者你正在学习的人)可能来自java背景,所有的函数都必须进入一个类。在C++中没有这样的限制,所以如果你觉得这是一个类之外的函数,你应该完全自由地写,如果它更有意义的话。我想你是想对问题帖子发表评论。