c++的难题,在线等!!!!!!!!!!!
#include<iostream>usingnamespacestd;classpoint{inta,b;public:point(intaa,intbb):a(aa)...
#include <iostream>
using namespace std;
class point
{
int a,b;
public:
point(int aa,int bb):a(aa),b(bb)
{
cout<<"调用了point构造函数"<<endl;
}
point(point &p)
{
cout<<"调用了拷贝构造函数"<<endl;
a=p.a;
b=p.b;
}
~point()
{
cout<<"调用了point析构函数"<<endl;
}
};
class distance
{
double dist;
point p1,p2;
public:
distance(point pp1,point pp2,double dis):p1(pp1),p2(pp2)
{
cout<<"distance构造函数被调用"<<endl;
dist=dis;
}
~distance()
{
cout<<"distance析构函数被调用"<<endl;
}
};
int main()
{
point a(20,30),b(50,60);
distance d1(a,b,456.78);
cout<<"函数结束。"<<endl;
return 0;
}
//为什么编译不通过呢? 展开
using namespace std;
class point
{
int a,b;
public:
point(int aa,int bb):a(aa),b(bb)
{
cout<<"调用了point构造函数"<<endl;
}
point(point &p)
{
cout<<"调用了拷贝构造函数"<<endl;
a=p.a;
b=p.b;
}
~point()
{
cout<<"调用了point析构函数"<<endl;
}
};
class distance
{
double dist;
point p1,p2;
public:
distance(point pp1,point pp2,double dis):p1(pp1),p2(pp2)
{
cout<<"distance构造函数被调用"<<endl;
dist=dis;
}
~distance()
{
cout<<"distance析构函数被调用"<<endl;
}
};
int main()
{
point a(20,30),b(50,60);
distance d1(a,b,456.78);
cout<<"函数结束。"<<endl;
return 0;
}
//为什么编译不通过呢? 展开
展开全部
编译错误呢?
除了名字还有其他的地方没有注意,下面是正确的代码
#include "StdAfx.h"
#include <iostream>
using namespace std;
class point
{
public:
int a;
int b;
public:
point(){}
point(int aa,int bb):a(aa),b(bb)
{
cout<<"调用了point构造函数"<<endl;
}
point(point &p)
{
cout<<"调用了拷贝构造函数"<<endl;
a=p.a;
b=p.b;
}
~point()
{
cout<<"调用了point析构函数"<<endl;
}
};
class distances {
public:
double dist;
point p1;
point p2;
public:
distances(point pp1,point pp2,double dis) {
p1 = pp1;
p2 = pp2;
cout<<"distance构造函数被调用"<<endl;
dist=dis;
}
~distances() {
cout<<"distance析构函数被调用"<<endl;
}
};
int main()
{
point a(20,30),b(50,60);
distances d1(a,b,456.78);
cout<<"函数结束。"<<endl;
return 0;
}
除了名字还有其他的地方没有注意,下面是正确的代码
#include "StdAfx.h"
#include <iostream>
using namespace std;
class point
{
public:
int a;
int b;
public:
point(){}
point(int aa,int bb):a(aa),b(bb)
{
cout<<"调用了point构造函数"<<endl;
}
point(point &p)
{
cout<<"调用了拷贝构造函数"<<endl;
a=p.a;
b=p.b;
}
~point()
{
cout<<"调用了point析构函数"<<endl;
}
};
class distances {
public:
double dist;
point p1;
point p2;
public:
distances(point pp1,point pp2,double dis) {
p1 = pp1;
p2 = pp2;
cout<<"distance构造函数被调用"<<endl;
dist=dis;
}
~distances() {
cout<<"distance析构函数被调用"<<endl;
}
};
int main()
{
point a(20,30),b(50,60);
distances d1(a,b,456.78);
cout<<"函数结束。"<<endl;
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<iterator>
里面有一个distance
template<class Init, class Dist>
Dist distance(
InIt first,
InIt last,
Dist& n
);
将这个类名换一下就可以通过了.
里面有一个distance
template<class Init, class Dist>
Dist distance(
InIt first,
InIt last,
Dist& n
);
将这个类名换一下就可以通过了.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
distance命名重复了
解决方法1:
把distance改为其它名字
解决方法2:
去掉 using namespace std;
使用
using std::cout;
using std::endl;
解决方法1:
把distance改为其它名字
解决方法2:
去掉 using namespace std;
使用
using std::cout;
using std::endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将类distance改名字吧,跟标准库中的冲突了,这也是一个关键字呢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-01-15
展开全部
xutility文件中已经有了一个distance了,所以请改名.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询