C# 是否可以在C++中扩展C类文件? 在C++中,你可以在一个单独的CPP文件中定义一个类的部分。那么比如说,

C# 是否可以在C++中扩展C类文件? 在C++中,你可以在一个单独的CPP文件中定义一个类的部分。那么比如说,,c#,class,methods,organization,C#,Class,Methods,Organization,标题: // Header.h class Example { public: bool Func1(); bool Func2(); }; CPP 1 CPP 2 在C中是否可以做类似的事情?我正在创建服务器和客户机类,有些方法永远不会被修改,例如SendString、GetString、SendInt、GetInt等。我想将它们与根据接收的数据包类型进行主动更新的方法分开 有没有办法像我正在尝试的那样组织代码,或者我只需要创建另一个类来保存所有不会进一步修改的方法?是一种

标题:

// Header.h
class Example
{
public: 
    bool Func1();
    bool Func2();
};
CPP 1

CPP 2

在C中是否可以做类似的事情?我正在创建服务器和客户机类,有些方法永远不会被修改,例如SendString、GetString、SendInt、GetInt等。我想将它们与根据接收的数据包类型进行主动更新的方法分开

有没有办法像我正在尝试的那样组织代码,或者我只需要创建另一个类来保存所有不会进一步修改的方法?

是一种方法-通常用于拆分自动生成和用户编写的代码。请参阅,了解使用它有意义时的情况

重构代码以将类保存在单个文件中可能更好,因为这对于C源代码来说更为常见

一种选择是在小型接口上使用扩展方法,并将单独的紧密分组的方法放入单独的静态类中

 // Sender.cs
 // shared functionality with narrow API, consider interface
 class Sender
 {
     public SendByte(byte byte);
 }

 // SenderExtensions.cs
 // extensions to send various types 
 static class SenderExtensions
 {
     public static SendShort(this Sender sender, uint value)
     {
        sender.SendByte(value & 0xff);
        sender.SendByte(value & 0xff00);
     }
 }

<>是的,我们可以在C中做类似的事情。我们在C.< /P> @中有部分类。DrewJordan,你可以把它作为一个答案来对其他用户有用,很多用户不读评论来寻找答案:改变你的问题更多的是你在C中尝试过的,而不是显示你在C++中所拥有的东西!而且可能删除C++标签,我们C++的鲨鱼坦克不喜欢!πάντα ῥεῖ 你死定了鲨鱼坦克的声音。
//Func2.cpp
#include "Header.h"
bool Example::Func2()
{
    return false;
}
 // Sender.cs
 // shared functionality with narrow API, consider interface
 class Sender
 {
     public SendByte(byte byte);
 }

 // SenderExtensions.cs
 // extensions to send various types 
 static class SenderExtensions
 {
     public static SendShort(this Sender sender, uint value)
     {
        sender.SendByte(value & 0xff);
        sender.SendByte(value & 0xff00);
     }
 }