创建简单的 c 类 [已关闭]

Creating simple c class [closed]

提问人:Franjo 提问时间:11/16/2023 最后编辑:egleaseFranjo 更新时间:11/16/2023 访问量:62

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

3天前关闭。

https://drive.google.com/file/d/1-_JAZEZ5cbQb4JV9WOkc9sFjUaxHBjXY/view您好,
我正在尝试创建简单的 c 类。
这个想法是创建结构指针(类似于“this”) 并在我的方法中使用它,然后使用宏将我的实例化变量重定向到它,然后我会像这样使用它 - (x 类)。这适用于一种类型的类。问题是我需要为不同类型的类使用不同的宏和指针。
l_#define c(x) x= l_c(x)->...

  1. 问题 - 是否可以制作指向每种类型的类(结构)的通用指针,以便我可以处理每个类的每个实例?#define c(x) this=x
  2. 问题 - 当我想在不同的类中拥有同名的方法时,会出现函数重新定义的错误。有没有办法通过一些宏命令定义等(隐藏其实现)来避免这个问题?我将使用此方法所有者一个指针。构造函数和析构函数没有问题,因为它们具有唯一的名称,如 或 。undefnew_line()delete_line()
  3. 问题 - 当你查看 test.c 的最后一行时,你会看到即使我调用了我的析构函数,仍然可以调用类的成员。释放此类类的正确方法是什么?

托盘以创建简单的 c 类。我找到了一些关于它的帖子,但它看起来很复杂,特别是对于编写一些没有错误的严肃方法。

C 宏析 构函数 信息隐藏

评论

4赞 Useless 11/16/2023
你能把相关代码粘贴到问题中吗?它有很好的代码格式和一切。
5赞 gulpr 11/16/2023
在此处发布代码。不要将链接发布到远程存储。
1赞 BoP 11/16/2023
使用类的能力是设计 C++ 的主要原因(最初是“带有类的 C”)。尝试用宏来做到这一点根本效果不佳,所以 Bjarne 很快就编写了一个新的编译器。

答: 暂无答案