注册 登录
编程论坛 C++教室

新手,请教一个架构/机制的设计问题

dwjgwsm 发布于 2015-02-24 12:20, 444 次点击
用C++实现
只有本站会员才能查看附件,请 登录

非常感谢!
7 回复
#2
yangfrancis2015-02-24 21:59
二维数组,比如:
float var[3][n-1];
#3
dwjgwsm2015-02-25 18:48
怎么可能用二维数据解决得了呢?策略中的(静态)变量会很多,而且随着策略的修改,变量的多少也可能会随之变动.我这个问题是不是太愚蠢了,都不愿回答?
#4
yangfrancis2015-02-25 20:29
如果说只是因为变量数量多且数量不确定因而不方便用二维数组的话,考虑一下链表吧。
struct var
{
   float var_a;float var_b;float var_c;
}
class MyNode
{
public:
   var present;
   MyNode* next;
}
//以上为数据类型定义
//存入A,B,C的起始数据作为首节点
MyNode* init;
init=new MyNode;
cin>>init->present.var_a;//从键盘输入数据
cin>>init->present.var_b;//从键盘输入数据
cin>>init->present.var_c;//从键盘输入数据
init->next=NULL;
//如果录入数掘的个数已知,可使用限制步数循环
MyNode* p;p=new MyNode;p=init;MyNode* p_tempt;p_tempt=new MyNode;
for(/*循环条件根据需要来设定*/)
{
    /*录入p_tempt的数据*/
    p->next=new MyNode;p->next=p_tempt;
    p=p->next;   
}
//如果实时地追加数据,仍用p_tempt保存录入的数据,再传递给末节点的next指针即可。
#5
dwjgwsm2015-02-25 22:03
谢谢!你所说的方法实际上是把变量值存储成为了时间序列.不知道是我理解的对不对.实际上这些变量都是单值变量.  我觉得,最好的办法是一个股票就是一个"名称空间",但是名称空间不是变量,所以我能想到的办法是只能把这些变量放到类定义里面去,临时变量(一个数据过来算完一遍就消失的变量)就不管了:
struct static_var
{
  float var1;
  int   var2;
  .....          //一个长长的变量清单:只针对需要持续存在的变量
}
class mystock
{
  public:
    static_var mystaticvar;
  private:
    float pricedata;
}

[ 本帖最后由 dwjgwsm 于 2015-2-25 22:07 编辑 ]
#6
xzlxzlxzl2015-02-26 09:55
典型的类和方法问题。即处理方法类似,实例对象不同。
#7
天使梦魔2015-02-26 11:01
没看懂你的意思?什么叫静态变量a不影响b。关机问题是所谓的影响是什么意思。
如果是定义类,而类是需要实例化的。如果你用一个class定义3个a,b,c。他们各自成员又不影响。即使同名也没联系。
如果是合作开发遇到变量名冲突,可以使用名字空间解决。
但我实在没搞懂你担心的问题是什么?
如果是二期改进不是还有继承和派生吗?
#8
dwjgwsm2015-02-26 20:22
xzlxzlxzl版主说得对,不过问题还不是那么显然.我还是自己慢慢琢磨吧.我觉得5楼的办法也是可行的,只是算不上完美. 谢谢楼上各位的耐心解答!

[ 本帖最后由 dwjgwsm 于 2015-2-26 20:24 编辑 ]
1