Rainyclown 2017-08-29 08:37 采纳率: 50%
浏览 905
已采纳

关于c++的对象成员问题

/*定义两个类
坐标类:Coordinate
数据成员:横纵坐标m_iX,m_iY
成员函数:构造,析构,数据封装

线段类:Line
数据成员:点两个 m_coorA,m_coorB
成员函数:构造,析构,数据封装,信息打印*/
/*Coordinate.h文件*/

class Coordinate
{
private:
int m_iX;
int m_iY;
public:
Coordinate(int x,int y);
~Coordinate();
void setX(int x);
void setY(int y);
int getX();
int getY();
};
/*Line.h文件*/
class Line
{
private:
Coordinate m_coorA(int x,int y);
Coordinate m_coorB(int x,int y);
public:
Line(int x1,int y1,int x2,int y2);
~Line();
void setA(int x,int y);
void setB(int x,int y);
void printfInfo();
};

#include
#include
#include "Coordinate.h"
#include "Line.h"
using namespace std;

Coordinate::Coordinate(int x,int y)
{
m_iX=x;
m_iY=y;
cout<<"Coordinate "<<m_iX<<" "<<m_iY<<endl;
}
Coordinate::~Coordinate()
{
cout<<"~Coordinate "<<m_iX<<" "<<m_iY<<endl;
}
void Coordinate::setX(int x)
{
m_iX=x;
}
int Coordinate::getX()
{
return m_iX;
}
void Coordinate::setY(int y)
{
m_iY=y;
}
int Coordinate::getY()
{
return m_iY;
}
Line::Line(int x1,int y1,int x2,int y2):m_coorA(x1,y1),m_coorB(x2,y2)
{
cout<<"Line()"<<endl;
}
Line::~Line()
{
cout<<"~Line"<<endl;
}
void Line::setA(int x1,int y1)
{
m_coorA(x1,y1).setX(x1);
m_coorA(x1,y1).setY(y1);
}
void Line::setB(int x2,int y2)
{
m_coorB(x2,y2).setX(x2);
m_coorB(x2,y2).setY(y2);
}
void Line::printfInfo()
{
cout<<"("<<m_coorA.getX()<<","<<m_coorA.getY()<<")"<<endl;
cout<<"("<<m_coorA.getX()<<","<<m_coorA.getY()<<")"<<endl;
}

int main()
{
Line *p=new Line(1,2,3,4);
p->printfInfo();
delete p;
p=NULL;
system("pause");
return 0;
}
图片说明
//IDE是vs2010,求大佬指点哪里错了,编译总是通不过

  • 写回答

6条回答

  • 周云熙 2017-08-30 00:44
    关注

    你定义的时候不要加参数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器