| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 809 人关注过本帖
标题:[求助]c++基础问题
取消只看楼主 加入收藏
cl_zdl
Rank: 1
等 级:新手上路
威 望:1
帖 子:71
专家分:0
注 册:2006-10-11
收藏
 问题点数:0 回复次数:2 
[求助]c++基础问题

请大家帮我看看,错误有些多,希望大家能帮我改改.谢谢!
#include<iostream>
using namespace std;

class Rectangle{
private:Line line1;

public:
Rectangle(Line a):line1(a){}
int mianji(){int s=line1.length1*line1.length2;
return s;}
};

class Line{
private :Point p1,p2;
int length1;
int length2;
public:Line (Point a,Point b):p1(a),p2(b)
{length1=p1.x-p2.x;
length2=p1.y-p2.y;}

Line (Line &p){length1=p.length1;
length2=p.length2;}
};

class Point {
private:int x;
int y;
public:Point (int a ,int b){x=a;y=b;}
Point (Point &p){x=p.x;y=p.y;}
};
void main(){
Point m1(10,20),m2(5,10);
Line p1(m1,m2);
Rectangle rectangle(p1);
cout<<"面积是:"<<rectangle.mianji()<<endl;
}
错误调试:
--Configuration: 11 - Win32 Debug--------------------
Compiling...
11.cpp
D:\学习文件\CL\4-9\11\11.cpp(5) : error C2146: syntax error : missing ';' before identifier 'line1'
D:\学习文件\CL\4-9\11\11.cpp(5) : error C2501: 'Line' : missing storage-class or type specifiers
D:\学习文件\CL\4-9\11\11.cpp(5) : error C2501: 'line1' : missing storage-class or type specifiers
D:\学习文件\CL\4-9\11\11.cpp(8) : error C2629: unexpected 'class Rectangle ('
D:\学习文件\CL\4-9\11\11.cpp(8) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
D:\学习文件\CL\4-9\11\11.cpp(14) : error C2146: syntax error : missing ';' before identifier 'p1'
D:\学习文件\CL\4-9\11\11.cpp(14) : error C2501: 'Point' : missing storage-class or type specifiers
D:\学习文件\CL\4-9\11\11.cpp(14) : error C2501: 'p1' : missing storage-class or type specifiers
D:\学习文件\CL\4-9\11\11.cpp(14) : error C2501: 'p2' : missing storage-class or type specifiers
D:\学习文件\CL\4-9\11\11.cpp(17) : error C2629: unexpected 'class Line ('
D:\学习文件\CL\4-9\11\11.cpp(17) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
D:\学习文件\CL\4-9\11\11.cpp(32) : error C2660: 'Line::Line' : function does not take 2 parameters
D:\学习文件\CL\4-9\11\11.cpp(33) : error C2440: 'initializing' : cannot convert from 'class Line' to 'class Rectangle'
No constructor could take the source type, or constructor overload resolution was ambiguous
执行 cl.exe 时出错.

11.obj - 1 error(s), 0 warning(s)

搜索更多相关主题的帖子: 基础 
2006-10-28 08:02
cl_zdl
Rank: 1
等 级:新手上路
威 望:1
帖 子:71
专家分:0
注 册:2006-10-11
收藏
得分:0 

很感谢你的帮忙,但我还有点不明白的为什么要给point 类加个缺省参的构造函数呢?

2006-10-29 07:24
cl_zdl
Rank: 1
等 级:新手上路
威 望:1
帖 子:71
专家分:0
注 册:2006-10-11
收藏
得分:0 
还有Line类里没缺省的构造函数,为什么Rectangle类中就能Line line1 这样声明呢?
2006-10-29 07:32
快速回复:[求助]c++基础问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016586 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved