C+中的类设计+;程序 我目前正在C++中做一个小项目。我对C++/编程相当陌生,想问一下我的类应该如何设计

C+中的类设计+;程序 我目前正在C++中做一个小项目。我对C++/编程相当陌生,想问一下我的类应该如何设计,c++,class,oop,class-design,code-design,C++,Class,Oop,Class Design,Code Design,具体来说:我想写一个聊天的小程序。只是两个程序/计算机之间的简单通信。为此,我希望使用一个好的类设计,因为尽管它只是一个小项目(只是为了学习),但我希望它设计良好且可扩展 我的程序应该有大约5个类(处理程序等,更新程序和应用程序——仅此程序的主类) 我会给你一些我如何设计程序的一部分的想法的例子。第一部分应该是连接部分(由connection处理)。任务是在两个程序之间建立连接。它还将设置本地文件,保存要打印的信息,并将其连接到“服务器”文件。稍后在程序中,应该可以访问文件\u处理程序类,以便它

具体来说:我想写一个聊天的小程序。只是两个程序/计算机之间的简单通信。为此,我希望使用一个好的类设计,因为尽管它只是一个小项目(只是为了学习),但我希望它设计良好且可扩展

我的程序应该有大约5个类(
处理程序
等,
更新程序
应用程序
——仅此程序的主类)

我会给你一些我如何设计程序的一部分的想法的例子。第一部分应该是连接部分(由
connection
处理)。任务是在两个程序之间建立连接。它还将设置本地文件,保存要打印的信息,并将其连接到“服务器”文件。稍后在程序中,应该可以访问
文件\u处理程序
类,以便它可以编辑/读取本地文件,并读取/请求写入“服务器”文件。(它到底要怎么做已经弄清楚了,所以只要没有必要,我想保持这个系统不变;))。但现在让我们谈谈我的想法:

想法1
App
创建
Connection
的实例以设置连接

连接
然后创建
文件处理程序
的实例,该实例将设置文件(在本例中,
文件处理程序
将保存带有静态变量的路径),然后销毁该实例,因为
连接
不再需要该实例

另一个类(实例由
App
持有)随后创建自己的
File\u handler
实例,并且可以处理这些文件,因为路径的变量是静态的

想法2
App
创建
连接
文件处理程序
的实例(让我们称它们为
con
fil

要设置连接,
fil
将每个引用传递到
con
,以设置文件的变量路径并创建文件等

为了以后处理文件,
App
将传递
fil
,以管理其他类的所有文件处理,例如更新聊天等

这将需要许多类具有构造函数或函数,这些类或函数需要具有
文件处理程序
参数,并且相同的变量将被多次传递

想法3 我的最后一个想法是,
连接
文件处理程序
和其他
将被创建为非常通用的类,而与其他类没有任何或接近零的关系

App
然后创建许多函数(甚至“子类”)来处理这些类,就像处理独立开发的框架一样,因此从理论上讲,可以在另一个程序中使用而不会出现任何问题


您认为哪种解决方案最好?或者你有没有其他更好的解决方案


请让我知道,我会感谢你的帮助

只是一个小提示。1)C++不是java;有人说它甚至不是OOP语言。对于C++中的程序设计和扩展性好,它根本不需要由类组成。对于许多任务,一堆自由函数会更好。类是好的,但如果使用不当,它们会导致糟糕的设计。2)你说你是C++新手。我建议您学习更多关于C++本身,只有在您感觉良好的语言之后,你才能开始思考诸如程序体系结构之类的东西。一开始这样做可能会导致坏习惯。只需问几个问题,如何最好地回答这个问题。1.你有没有打算在这个时候多线程?2.你说“最好”是什么意思?它是最小的代码库;最可重用的代码库;跨平台;执行速度最快;等等。这是家庭作业吗?如果不是的话,我道歉,但看起来像。如果是家庭作业,我会和你的老师谈谈他/她希望你做什么,如果你遇到具体问题,我会回到这里。@lisyarus说得很好;当您的代码刚刚开始时,不要担心代码是否完美。只要努力学习语言;如果你是对的,那就别担心。我们大多数人可能在某个时候写了意大利面代码。@利斯亚鲁斯快速侧记:只看了一个字“相当”(我是德国人),我不是说很新,我在C++中已经编程了将近2年,但是在这之间有很长的刹车。最大的是6个月。但感谢免费功能的建议,我读到的第一本关于C++的书只使用了类,没有免费的功能,所以我也希望能用课堂来做所有的事情。但是,这确实解决了我的一些问题:(BTW:你认为什么是我的答案的最佳解决方案?还是有兴趣的:D)但是,这里有一个很难的技术事实:在标准C++中,<代码>主< /代码>不能是成员函数。它必须是
intmain()
(或
intmain(intargc,char*argv[])
)。没有类,没有名称空间。只是一个旁注。1)C++不是java;有人说它甚至不是OOP语言。对于C++中的程序设计和扩展性好,它根本不需要由类组成。对于许多任务,一堆自由函数会更好。类是好的,但如果使用不当,它们会导致糟糕的设计。2)你说你是C++新手。我建议您学习更多关于C++本身,只有在您感觉良好的语言之后,你才能开始思考诸如程序体系结构之类的东西。一开始这样做可能会导致坏习惯