1。 我建了一个基于对话框工程,里面新加了一个自己写的类,我在.h文件中,类的析构函数和另两个函数在类中实现了,这样行吗?(还是都要在.cpp中实现?)
2。 工程中有两个Edit控件分别输入多项式,点OK按钮,在一个Static text控件中显示两多项式相加结果,你们看这样行吗?(请指教!)
 void CCaculateDlg::OnOK() 
{
// TODO: Add extra validation here
    CString edit1;
Cstring edit2;
stack<float>s1;   //自定义模版类对象S1,S2
stack<char>s2;
float n1,n2,n3;
if(m_edit1.GetWindowText(edit1)==0||m_edit2.GetWindowText(edit2)==0)
AfxMessageBox("多项式1,2不能为空");
     n1=caculator(edit1,s1,s2);  //计算两多项式
     n2=caculator(edit2,s1,s2);
     n3=n1+n2;                      //相加
 m_display.SetWindowText(n3);
CDialog::OnOK();
}

解决方案 »

  1.   

    1.还是在.cpp中写吧,VC都是这样的。
      

  2.   

    1 ok
    2 ok   change this ID 
      

  3.   

    1 ok
    2 ok but:int CWnd::GetWindowText( LPTSTR lpszStringBuf, int nMaxCount ) const;void CWnd::GetWindowText( CString& rString ) const;
      

  4.   

    类的头文件中还是尽量只写定义,实现部分放到实现文件.cpp里面:)
    计算函数是你自己实现的吧,思想没错,看你怎么实现了。还有要注意UpdateData的使用,否则可能得不到正确的结果。
      

  5.   

    各位高手 float变量怎样转为char*变量??
    还有 UpdateData怎摸用啊,在我这段程序里??
      

  6.   

    还有 UpdateData怎摸用啊,在我这段程序里??
    MSDN上将的很清楚.
      

  7.   

    1.可以这样用,只不过是作为内联函数。如果那些函数是比较短小而且调用比较频繁的话就可
      以用这中方式。
    2.首先更正以下你的一点错误。你把最后一行屏蔽掉,不然会关闭你那个对话框。
      对于UpdateData函数的使用,你如果要从屏幕输入就在函数前面加UpdateData(TRUE)
      把你输入的数据传给变量。如果要把结果显示到屏幕上的话就用UpdateData(FALSE)来显 
      示结果到屏幕上。
    把float型变量格式化为字符串,然后再转变为char*类型。
      

  8.   

    CString str;
    float num;
    str.format("%6.2f",num);