如何为命名空间和扩展类转换c#到Qt小部件代码(c++)
本文关键字:小部 Qt 代码 c++ 命名空间 扩展 转换 | 更新日期: 2023-09-27 18:15:45
我在android和iOS上使用Qt 5.4。
我有一个c#代码,但我不知道如何将其转换为Qt(c++)。
在c#中
交流
namespace WS
{
public enum myTypes
{
T1,
T2,
T3,
};
public abstract class GS
{
protected Color _penColor = Color.White;
protected bool ReadBaseProperty(BinaryReader reader, string readFileVersion)
{...
}
}...
}
公元前
namespace WS
{
public class sL : GS
{
public virtual int PC
{
get { return PointList.Count; }
}...
}
}
在Qt中,我尝试
A.h
namespace WS{
class GS
{
public:
GS();
}
}
A.cpp
#include "GS.h"
WS::GS::GS(){}
另一个文件:
B.h
namespace WS{
class sL:public GS
{
public:
sL();
}
}
另一个文件:
B.cpp
#include "B.h"
WS::sL::sL(){}
它是Qt的正确格式吗?
我不太确定你想要做什么,但我会试一试。
没有从c#到c++的一对一转换,但是这里有你可以转换的部分:
交流
namespace WorkSystem
{
enum myTypes
{
T1,
T2,
T3
};
class GS
{
protected:
GS() { }
};
}
GS有一个受保护的构造函数来防止初始化,在c++中没有抽象这样的东西
公元前
namespace WorkSystem
{
class sL : public GS
{
public:
virtual ~sL() { }
virtual int getPC()
{
return 0;
}
};
}
sL有一个虚析构函数
现在对于其他部分:
-
颜色:这是一个系统。绘图结构,不是c++,而是c++/CLI。
-
主题:这是一个只在c#中可用的类。要从文件中读取,必须使用stdio或第三方库。
-
电脑:属性在c++中是不可用的,你可以使用函数作为getter和setter。
-
PointList。数:我假设这是一个c#列表类。同样,这些在c++中不存在,但可以用std::list
来替换。