一个C++问题,关于class中const型数据的初始化

/*有这样的一个要求改错的题目:*/#include<iostream>usingnamespacestd;classCircle{public:Circle(intrr... /*有这样的一个要求改错的题目:*/

#include<iostream>
using namespace std;

class Circle
{
public:
Circle(int rr){r=rr;}//---------------error
void Display(){cout<<"Area="<<3.1415*r*r<<endl;}
private:
const int r;//------------------------A
}

void main()
{
Circle c(10);
c.Display();
}

/*
如果把A行const去掉,肯定就没问题了,但题目的要求是只改动error的一行。
*/
class的结尾处有个分号的,没打上来。
展开
 我来答
simlinkwx
2010-03-28 · TA获得超过1331个赞
知道小有建树答主
回答量:308
采纳率:0%
帮助的人:603万
展开全部
帮你改好了,const成员的初始化不能再构造函数中,要像我那样初始话
#include<iostream>
using namespace std;

class Circle
{
public:
Circle(int rr):r(rr){}//注意这里
void Display(){cout<<"Area="<<3.1415*r*r<<endl;}
private:
const int r;//------------------------A
};

void main()
{
Circle c(10);
c.Display();
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式