2 anhaoxuan anhaoxuan 于 2016.04.25 17:53 提问

一个C++超简单的语法错误 求解

我在学习范磊C++教程在抄写一个程序的时候提示第21行length前面少了个分号 我看了那个视频两三遍都没什么错啊 为什么我的就不能编译成功呢 下面是那个程序的代码。谢谢大神们的帮助!

#include
using namespace std;
class demo
{
public:
demo(){x=0;cout<<"demo的默认构造函数"<<x<<endl;}
demo(int i){x=i;cout<<"demo的带一个参数的构造函数"<<x<<endl;}
~demo(){cout<<"demo的默认析构函数"<<x<<endl;}
int get(){return x;}
void set(int i){x=i;}
private:
int x;
};

class rectangle
{
public:
rectangle(){x=1000;cout<<"rectangle的默认构造函数"<<x<<endl;}
rectangle(int i,int j,int k):x(i),width(j),length(k)
{
cout<<"rectangle的带三个参数的构造函数"<<"长方形b的面积为:"length.get()*width.get()<<endl;
}
~rectangle(){cout<<"rectangle的默认析构函数"<<x<<endl;}
int area(){return length.get()*width.get();}
private:
int x;
demo length;
demo width;
};

int main()
{
rectangle a(100,200,300);
return 0;
}

4个回答

sinat_21520373
sinat_21520373   2016.04.25 20:30
已采纳

class结束后面的大括号后一定要有分号的。。你看除了第21行其他的class结束也有分号不是?

anhaoxuan
anhaoxuan 万分感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
一年多之前 回复
sinat_21520373
sinat_21520373 啊不。。。我看错了。。。是输出length和"长方形b的面积为:"之间少了<<
一年多之前 回复
hjnth
hjnth   2016.04.25 19:34

把这个删了:
:x(i),width(j),length(k)

anhaoxuan
anhaoxuan 我删了怎么进行初始化???
一年多之前 回复
anhaoxuan
anhaoxuan   2016.04.25 20:34

不明白您在说什么 我的程序只有两个类 一个叫demo 一个叫rectangle 第一个结束的分号在13行 第二个结束的分号在29行

ArthurJava
ArthurJava   2016.04.26 13:33

#include 后面没有内容,遗漏添加
后面没有看

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!