当前位置:  开发笔记 > 编程语言 > 正文

C++程序员应该如何在C中设计软件?

如何解决《C++程序员应该如何在C中设计软件?》经验,为你挑选了5个好方法。

作为C++程序员,我们必须在将它们实现到类之前处理概念和相关概念的关系.

但是,如何用C等程序语言设计软件呢?如何在没有C++类的帮助下处理概念.

有关:

在C中规划和组织应用程序开发的最佳方法是什么?

在面向对象的土地上挣扎?

John MacInty.. 31

如果您熟悉C++,您可能需要考虑在创建类的任何地方创建数据结构,并创建类似于您通常可能创建的类方法的函数,第一个参数接受指向该结构的指针.



1> John MacInty..:

如果您熟悉C++,您可能需要考虑在创建类的任何地方创建数据结构,并创建类似于您通常可能创建的类方法的函数,第一个参数接受指向该结构的指针.


+1 - 只是因为C没有对象并不意味着你仍然不能在C中使用面向对象的方法(特别是封装).甚至可以对多种类型进行排序.只需看看在Win32 API中使用HANDLE.
@lothar:它不是"模仿"多态,只是在使用它之前必须提供基础设施.OOP语言不是不同的野兽,只是它们已经包含运行时库和语法糖来使用它.

2> Bill the Liz..:

在面向对象语言中,您习惯于首先考虑数据对象,然后考虑要将哪些方法或行为应用于这些对象.它有助于程序编程,将您的数据结构与作用于它们的函数分开考虑.



3> Julien..:

您可能还要看一下Glib/GObject,它为C语言提供了一种类机制.它被许多项目使用,它非常强大且经过严格测试.



4> timday..:

完全可以将OOP设计原则引入'C'.你错过了一些语法糖,但在一天结束时它只是结构,函数和指针.

看一下glib,gtk和gts,看看C语言中OOP编码风格的好例子.



5> kmarsh..:

如果您要解决的问题很好地映射到功能分解,则只使用功能分解.

记住操作系统,GUI和其他事件驱动的非过程系统都是在Objective C和C++出现之前很久就用C语言编写的.C不是Cobol.

在学习C++之前,我使用函数指针数组在C语言中编写了一个事件驱动的GUI.封装很容易,我没有尝试过多态,一些关系依赖于编码标准和命名约定,因为命名空间和对象不可用.它包含了一个真正的解析器,递归,因为我还没有在Uni上使用Compiler类.是的,它都适合640K,但我确实使用了叠加.

有些人试图使用Structs中的函数指针来伪装伪对象.我没有看到这一点.在某些方面你必须接受你没有使用C++的事实.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有