c++题目,请大神帮忙改错吧

#include<iostream>usingnamespacestd;classX{private:inta=0;int&b;constintc=0;voidsetA(... #include <iostream>
using namespace std;
class X
{
private:
int a=0;
int &b;
const int c=0;
void setA(int i){a=i;}
X(int i){a=i;}
public:
int X(){a=b=0;}
X(int i,int j,int k=0):c(k){a=i;b=j;}
void setC(int k) const {c=c+k;}
};
int main()
{
X x1;
X x2(2);
X x3(1,2,3);
x1.setA(3);
return 0;
}
看看哪里错了
请帮忙写出修改后的运行结果
展开
 我来答
百度网友1e18192
2013-05-24 · 超过23用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:59.4万
展开全部

我勒个去  你这个错误太多了把

  1. 引用“int &b;”没有初始化

  2. 构造函数“int X(){a=b=0;}”不能有返回类型;

  3. 常量“const int c=0;”   不能被改变数值  你看你还这样写“void setC(int k) const {c=c+k;}”

  4. c 也不能用构造函数X(int i,int j,int k=0):c(k){a=i;b=j;}这样赋值,因为是常量;

  5. 对了   “int a=0;”非静态成员变量也不能赋初值,感觉你这代码没几句对的;

    求采纳!!

追问
这个题目修改之后的运行结果是什么
追答
额  你这个错误很多没法改。因为我知道你想改成什么样?  还有  你这个连输出都没有,运行结果你也看不到
w57132855
2013-05-24 · TA获得超过107个赞
知道答主
回答量:125
采纳率:0%
帮助的人:47.4万
展开全部
成员变量不能赋值 构造函数不能设置私有 设置了也没有用 我去 你这是故意写的改错题么..... 去看看书上的基本语法
追问
const int c=0;-------void setC(int k) const {c=c+k;}    这两句是不是也错了,这不是我故意写的,练习题原题,我是真心不懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式