C++构造函数中是不能有判断语句吗??,也就是说只能是纯赋值语句。。。。

2024-12-20 14:20:11
推荐回答(5个)
回答1:

构造函数中是可以写代码的,没有问题,应该是其他地方出错了。
大哥啊!
cout<<"圆的面积:"<cout<<"圆的周长:"<这两句,你用的参数是r啊!就是main函数中的局部变量r!而不是Circle类的私有成员r啊!

下面的函数有错误,自己仔细看看吧!
double Circle::Circle_girth(double r)
{
return result; //return 2*PI*r
}
修改成这样的才对,去掉这连个函数的参数,使用this指针:
double Circle::Circle_area()
{
return PI*this->r*this->r;
}
double Circle::Circle_girth()
{
return 2*PI*this->r; //return 2*PI*r
}

回答2:

#include
const double PI=3.1415926; //宏定义
class Circle
{
private:
double r;//私有成员:圆的半径
double result;
public:
Circle(double radius); //构造函数
~Circle(); //析构函数
double Circle_area(double r); //函数声明:用于计算圆的面积
double Circle_girth(double r); //函数声明:用于计算圆的周长
};
Circle::Circle(double radius)
{
if(radius>0)
{
r=radius;
}
else
{
r=1;
}
cout<<"构造函数被调用!"<}
Circle::~Circle()
{
cout<<"析构函数被调用!"<}
double Circle::Circle_area(double r)
{

result=PI*r*r;
return result; //return PI*r*r
}
double Circle::Circle_girth(double r)
{
return result; //return 2*PI*r
}
void main()
{
double r;
cout<<"请输入圆的半径:"; //输入圆的半径
cin>>r;
Circle Cir(r);
cout<<"圆的面积:"< cout<<"圆的周长:"<}

把变量result在类上面 定义上去就可以了,我调试,不会出现你那样的问题。

回答3:

可以有输入语句阿。如下所示:
class ClassA
{
public:
ClassA();
~ClassA();
};

int main()
{
ClassA classA;
return 0;
}

回答4:

可以设置判断赋值的,没有问题,在其他的函数中有没有更改过

回答5:

e:\cpp\help1\main.cpp(49) : error C2065: 'result' : undeclared identifier
变量result没有被定义