vc++ 是基于c发展过来的,我就想,我编辑一个如下的text应该可以编译的。
#include<isotream.h>
#include<math.h>
const double ANG_TO_RED=0.00174532925;
class angle
{
double value;
public:
void SetValue(double);
double GetSine(void);
}deg;void angle::SetValue(double a)
{
value=a;
}
double angle ::GetSine(void)
{
double temp;
temp=sin(ANG)_TO_RED*value);
return temp;
}
void main()
{deg.SetValue(60.0);
cout <<"The sine of the angle is:";
cout <<deg.GetSine()<<endl;
}
结果是不能编译,好象是缺少class什么的。请问这是怎么回事?

解决方案 »

  1.   

    #include<isotream.h>写错了。是iostream.h另外。ANG没有定义。
      

  2.   

    up is right!Thanks a lot!
      

  3.   

    class angle
    {
    double value;
    public:
    void SetValue(double);
    double GetSine(void);
    }deg;
    应该是
    class angle
    {
    double value;
    public:
    void SetValue(double);
    double GetSine(void);
    };
    angle deg;
      

  4.   

    up:其实这两种定义方式应该是一样的,这是形式不同而已!第一种是直接继承定义法。第二种是先定义class,再将它传给具体子类。我说的对吗?谢谢!多多指教!不胜感激!
      

  5.   

    #include<iostream.h>
    #include<math.h>
    const double ANG_TO_RED=0.00174532925;
    class angle
    {
    double value;
    public:
    void SetValue(double);
    double GetSine(void);
    }deg;void angle::SetValue(double a)
    {
    value=a;
    }
    double angle ::GetSine(void)
    {
    double temp;
    temp=sin(ANG_TO_RED*value);
    return temp;
    }
    void main()
    {deg.SetValue(60.0);
    cout <<"The sine of the angle is:";
    cout <<deg.GetSine()<<endl;
    }
      

  6.   

    temp=sin(ANG_TO_RED*value);
    =>
    temp=sin(ANG_TO_RED)*value);