C#到C++;静态类 < >我将C++中的一些代码移植到C++中。我不知道如何创建像C#中的静态类那样的类
基本上,temperatureClass是一个实用程序类,用于执行不会创建实例的计算。 我有几个问题: C++的计算温度是否应保持为静态?<李> 如果我保持它是静态的,那么如何在C++中初始化int偏移量,因为它是静态计算的函数?使用的。 <> LI>是否应该将Con访问器保持为C++中的静态,因为需要设置上下文?C#到C++;静态类 < >我将C++中的一些代码移植到C++中。我不知道如何创建像C#中的静态类那样的类,c#,c++,C#,C++,基本上,temperatureClass是一个实用程序类,用于执行不会创建实例的计算。 我有几个问题: C++的计算温度是否应保持为静态? 如果我保持它是静态的,那么如何在C++中初始化int偏移量,因为它是静态计算的函数?使用的。 LI>是否应该将Con访问器保持为C++中的静态,因为需要设置上下文? 或更一般地说,C++中的实用工具类的实现方式是什么? C++版本很可能是一个只包含静态成员的类 偏移量变量为整数类型,如果声明为静态变量,则可以使用与C#中相同的方式初始化它(但您可能需要添
或更一般地说,C++中的实用工具类的实现方式是什么?
偏移量
变量为整数类型,如果声明为静态变量,则可以使用与C#中相同的方式初始化它(但您可能需要添加一个常量
)context
是静态的,则访问器也必须是静态的,因为静态成员函数无法访问非静态成员变量偏移量
变量为整数类型,如果声明为静态变量,则可以使用与C#中相同的方式初始化它(但您可能需要添加一个常量
)context
是静态的,则访问器也必须是静态的,因为静态成员函数无法访问非静态成员变量一些air代码,而不让它通过编译器(因此,如果有错误,请告诉我,我会修复它,但我认为大部分内容应该正确地直接从C#翻译到C++)
(如果这是一个好的设计与否是另一个问题,但这与C#或C++无关)一些air代码,而不让它通过编译器(因此,如果有错误,请告诉我,我会修复它,但我认为大部分内容应该正确地直接从C#翻译成C++)
(如果这是一个好的设计,是另一个问题,但它独立于C语言或C++)
C++,<强>你不需要静态类>,因为你可以在命名空间范围内拥有函数。在C#中,需要静态类,因为所有函数都必须在类范围内
我会这样做:< C++ > <>强>不需要静态类< /St>,因为在命名空间范围内可以有函数。在C#中,需要静态类,因为所有函数都必须在类范围内 我会这样做:
// in C#
public static temperatureClass{
private static int offset = 50;
private static Context context;
public static calculateTemperature(){
//use a;
//use context;
}
public static Context con{
set{
context = value;
}
}
}
int main() {
Context con1;
temperatureClass.con = con1; //con1 is a
temperatureClass.calculateTemperature();
}
class temperatureClass
{
private:
static int offset = 50;
static Context context;
temperatureClass(){}; // avoid instantiation
public:
static void calculateTemperature()
{
//use a;
//use context;
}
static void SetCon(Context c)
{
context = c;
}
}; // dont forget semicolon in C++ :-)
int main()
{
Context con1;
temperatureClass::SetCon(con1);
temperatureClass::calculateTemperature();
}
// temp.h
namespace temperature {
void calculateTemperature(const Context& context);
}
// temp.cpp
namespace { // private stuff
int offset = 50;
}
namespace temperature {
void calculateTemperature(Context context){
//use a;
//use context;
}
}
// programm.cpp
#include "temp.h"
int main() {
Context con1;
temperature.calculateTemperature(con1);
}