c++类的疑问
初学c++,刚看完一本书。。。有点疑惑。。
请问如果我要写个程序,我该如何针对需求来设计一个类或者几个类,和类中的函数、变量。。还有就是要设计成几个文件,这些该如何来规划??等等。
[解决办法]
分析文档,从中找出名词和动词,名词描述的是类或者类的属性,动词描述的是类的行为。要设计成多少个文件,一是要与现实的对象和类的关系联系起来,二是要与设计中类的关系和程序的复杂度相关,比如有些地方简单的把一些本不属于同一个类的东西合并,两者比较,分析。
[解决办法]
是第一次做课题吧?呵呵~
先不要想类里面要有什么数据成员,先想想这个课题要你做什么,要实现哪些功能,然后按功能划分类,并确定类之间的关系(离散,继承,friend之类的~),模块确定下来后,再想数据成员,需要存储什么,用什么形式存储(数组还是容器?char*还是string?)
多文件的话,通常把某个或某类相关的类的声明单独置于一个.h文件中,其各个函数的具体代码放在另一个或多个.cpp文件中,而简短的main函数单独用个.cpp文件,比如drive.cpp
举个例子可能更清晰些,比如设计电子投票系统(老题目了,高手勿笑~),就得实现管理员对投票者帐号以及候选人信息的管理,投票者要能够看到候选人的部分信息,并能够投票
那么管理员可以是一个类,投票者一个类,候选人一个类
而管理员和投票者,本质上都是ID,那么它们可以都从一个IDBase继承而来
而存储ID用什么?用map还是list?这就看各人的选择了~
还有一些细节,比如一定要保证一个投票人只能投一次,如何保证其登录后只投一次?
或者,如果有时间,是否可以扩充一些功能,比如提供语言的选择?是中文界面还是英文界面?
楼上的说的很精辟,但是可能有些抽象,所以就罗里罗嗦的说了这么多,高手表拍我哈~^_^