对我的程序结构的困惑 可以考虑在View中你需要显示粒子和电场的哪些数据,然后把这些必要数据写成结构体放在CDocument中。然后在处理中定时更新这个结构体中的数据。重绘时就只要访问该结构体就行了。至于粒子和网格,最好写成单独的类,你可以在CDocument或任意地方中开一个数组或链表存放他们的类实例。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我觉得你应该再建立一个新类,如CCompute;把粒子类与网格类作为它的两个数据成员。这样你把计算,显示方面的东西写入这个类中,当然要提供给它关于文件操作方面的函数。把它作为一个文档类的数据成员比较好。为了以后的扩展,你可以在粒子类与网格类中将其中的公用函数(即你认为别人会用到或者你在程序中用到的函数声明为virtual函数)。这样的话你在CCompute类中把粒子类与网格类作为一个指针变量,当然其类名为你所定义的类名。别人扩展时,可以从你的类中派生,而不用修改其它部分. 不好意思,我再问一下:如果在CMyDocument中存放粒子或网格实例,这样可不可以:class CParticle;class CGrid;class CMyDocument:public CDocument{...public:CParticle** ppar;CGrid** pgrid;如果行,那ppar和pgrid需要初始化吗?... 衷心感谢大家的帮助,虽然大家给我解答问题不是为了分数,但我也只有再加三十分作为我唯一能表达谢意的方式。to gamepolice:"把它作为一个”是不是说把CCompute作为文档类的数据成员。另外,我已经把消息处理函数加在了视类中,但一执行就提示非法操作。我在这个函数中用到了指向文档类,粒子类,网格类对象的指针,具体在CMyview.h中这样定义的:class CParticle;class CGrid;class CMyView:public CView{...public:CParticle** ppar;CGrid** pgrid;CMyDoc* pdoc; 我同意In355Hz(好象一条狗)的建意,可以使用CPtrList或CObject之类链表或其派生储存对象,进行管理。 为什么要用CParticle** ppar?为什么要用指针的指针?我一直觉得指针不太容易管理,何况指针的指针? 我用指针的指针是想在函数中这样用它:ppar[i]->func(),请问,如果这样不好,还有啥好方法吗 调试一下,注意那几个指针的指针。用CPtrList或CObList来管理指针。估计就是指针使用上的错误。 我在用这几个指针地方加了try和catch,提示fatal error C1001: INTERNAL COMPILER ERROR。另外,我想用单步调试,设置后每次执行go,看到的只是一大堆汇编码呀。 WinInet异步InternetSetStatusCallback的回调函数问题 怎么样才能在C++中找到控件工具栏 求教:ssl连结时调用usb key验证 VC++ 6.0单文档中如何创建随鼠标移动的光标? 连续执行某个操作,程序会出现没反映,是怎么回事情呢? 急!!!(在线等) “关于控件的问题!!” 搜索本版时发现有作弊的嫌疑,大家看看。版主,记得给我加分了。 CCommand <CAccessor<>>结合模板成员函数的问题 求sqlite3.exe文件 动画控件 为什么我的登录脚本运行不起来(NT下)?
这样你把计算,显示方面的东西写入这个类中,当然要提供给它关于文件操作方面的函数。
把它作为一个文档类的数据成员比较好。为了以后的扩展,你可以在粒子类与网格类中将其中的公用函数(即你认为别人会用到或者你在程序中用到的函数声明为virtual函数)。这样的话你在CCompute类中把粒子类与网格类作为一个指针变量,当然其类名为你所定义的类名。别人扩展时,可以从你的类中派生,而不用修改其它部分.
如果在CMyDocument中存放粒子或网格实例,这样可不可以:
class CParticle;
class CGrid;
class CMyDocument:public CDocument
{
...
public:
CParticle** ppar;
CGrid** pgrid;
如果行,那ppar和pgrid需要初始化吗?...
to gamepolice:
"把它作为一个”是不是说把CCompute作为文档类的数据成员。
另外,我已经把消息处理函数加在了视类中,但一执行就提示非法操作。我在这个函数中用到了指向文档类,粒子类,网格类对象的指针,具体在CMyview.h中这样定义的:class CParticle;
class CGrid;
class CMyView:public CView
{
...
public:
CParticle** ppar;
CGrid** pgrid;
CMyDoc* pdoc;
我一直觉得指针不太容易管理,何况指针的指针?
估计就是指针使用上的错误。