gpt4 book ai didi

c++ - 将 C++ 类(.cpp 文件)转换为结构体(.c 文件)

转载 作者:行者123 更新时间:2023-11-30 20:45:12 24 4
gpt4 key购买 nike

我有一个名为 Coverage 的类。它有一些数据类型为字符串的变量和一些返回类型为字符串的函数。

此类在其他头文件中使用。我想将转换为C 结构。其他头文件正在使用其中函数中的类对象。我想更改该类,这样我就不必在其他头文件中进行更改。

就像函数是一样

string ABC(Coverage* coverage);

我的结构应该作为行为类;但无法在结构体中创建函数,因为在 C 中不推荐这样做。

class Coverage
{
std::string country;
std::string KpRuntimeDir();
std::string CRtimeDir();
std::string RtimeDir();
};

将类转换为,例如:

struct Coverage n{
char country[];
/* [...] */
};

最佳答案

我想到的唯一方法是将类重写为结构(仅变量成员)并在结构之外定义函数(而不是方法)。但是,如果您同时拥有私有(private)和公共(public)方法,以及一些自行定义的构造函数,那么这似乎毫无意义,并且您永远不会获得相同的安全性和功能。

struct Coverage{
char country[256];
--------
};

char* RtimeDir(Coverage* c);

但在这种情况下,可以使用任何强制转换的指针来调用它,这将导致运行时错误。

关于c++ - 将 C++ 类(.cpp 文件)转换为结构体(.c 文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40992945/

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