gpt4 book ai didi

c++ - 想在另一个 CPP 中使用它们时对 C++ 类感到困惑。 [来自 C#]

转载 作者:太空狗 更新时间:2023-10-29 23:46:12 25 4
gpt4 key购买 nike

在 OOP 中,您希望将一个程序分解为多个类。

在 C# 中,您可以这样做:

namespace a
{
public class ClassA
{
//Methods...that are defined and have code in them.

}
}

要使用该类,您只需执行“使用命名空间 a;”即可。

假设我想在 C++ 中创建一个类,定义它们,并将代码放入其中。

class ClassA
{
public:
void methodA();
}

ClassA::methodA()
{
//implementation.
}

要访问此实现,您只需使用#include "ClassA.h"。我完全理解这一点,然后你必须再次实现该代码?这似乎适得其反,因为我喜欢将我的项目分散到很多类(class)中。

那么实现 ClassA 而不是再次重新实现它的所有方法的正确过程是什么?

最佳答案

您不必在每个 CPP 文件中重新实现它们,C++ 链接器负责确保定义匹配在一起。

您只需要:

标题:

#ifndef FOO_H
#define FOO_H

class Foo{
//Junk goes here
};

#endif

一个cpp:

#include "foo.h"

//implementations for junk goes here
void Foo::junk(){

}

然后您可以包含 foo.h。每个cpp 将被编译成一个.o 文件。然后,那些 .o 文件被交给链接器,链接器可以找出定义的位置并正确拼凑代码。

关于c++ - 想在另一个 CPP 中使用它们时对 C++ 类感到困惑。 [来自 C#],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13132038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com