15201315716 发表于 2014-5-2 23:00:59

跪求C++对象数组实现圆面积求程序求改错调试!!!

求大神帮忙改错,实在无力了!!!(红字 就是VC 调试出错点)
实现10个圆面积求算以及最终求和的程序! 感激不尽!!!!
#include<iostream>
using namespace std;
class X
{
public:
          
          X(double r1)
          {
                  r=r1;
                  
          }
          
          double getr()
          {
                  return r;
          }
      void setr(double r1)
      {
                  r=(r1>=0)?r1:0;
          }
          double getarea()
          {   
                  return r*r*3.14159;
          }

private:
      double r;

};



double sum(X xarray[],int size)
          {   
                  double sum=0;
                  for(int i=0;i<size;i++)
                          sum=sum+xarray.getarea();
                      return sum;
          }


void print(X xarray[],int size)
       {
               for(int i=0;i<size;i++)
               cout<<xarray.getr()<<"   "<<xarray.getarea()<<endl;
               cout<<"the sumis"<<sum(xarray,size)<<endl;
       }



int main()
{
   const int size=10;
X xarray;   //                     error C2512: 'X' : no appropriate default constructor available

   for(int i=0;i<size;i++)
   {
   array.setr(i+1);
   }
   print(xarray,size);
return 0;
}



牡丹花下死做鬼 发表于 2014-5-2 23:06:53

C++还没学
我只是想说能不能格式发的好看点用这种样子发

15201315716 发表于 2014-5-2 23:23:31

牡丹花下死做鬼 发表于 2014-5-2 23:06 static/image/common/back.gif
C++还没学
我只是想说能不能格式发的好看点

你白让我激动了。。。我以为有人给我搞定了啊。。。。下次注意哈

15201315716 发表于 2014-5-2 23:49:37

求大神指导啊我都要疯了。。。。搞不定啊

未闻丶花名 发表于 2014-5-3 12:35:56

那个错误的意思是类X没有默认的构造函数,你一旦自己定义了构造函数,系统就不会调用默认的构造函数了,你在实例化该对象时后面无参数,而你自己却没有定义无参数的构造函数,所以就会出错。
改法1:加个无参数的构造函数X(){}
改法2: X(double r1=1)//设置默认值
          {
                  r=r1;      
          }

15201315716 发表于 2014-5-3 13:48:25

未闻丶花名 发表于 2014-5-3 12:35 static/image/common/back.gif
那个错误的意思是类X没有默认的构造函数,你一旦自己定义了构造函数,系统就不会调用默认的构造函数了,你在 ...

大神你太牛了无比感谢啊!
页: [1]
查看完整版本: 跪求C++对象数组实现圆面积求程序求改错调试!!!