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);
}
}