为了账号安全,请及时绑定邮箱和手机立即绑定

为什么运行代码出现这个,如何解决

error LNK2019: 无法解析的外部符号 "public: __thiscall Teacher::Teacher(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int)" (??0Teacher@@QAE@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z),该符号在函数 _main 中被引用

1>E:\C++练习\ConsoleApplication1\Debug\demo-2-xigou.exe : fatal error LNK1120: 1 个无法解析的外部命令


正在回答

2 回答

#include "stdafx.h"

#include <iostream>

#include <stdlib.h>

#include "Coordinate.h"

#include "Line.h"

using namespace std;

/********************************************/

/*对象成员

要求:

     定义两个类;

坐标类:Coordinate

数据成员:横坐标m_iX,纵坐标m_iY

成员函数:构造函数,析构函数,数据成员的封装函数

线段类:Line

数据成员:点A:m_coorA,点B:m_coorB

成员函数:构造函数,析构函数,数据成员封装函数,信息打印函数

*/

/********************************************/



int main(void)

{

Line *p = new Line(1,2,3,4);

p->printInfo();

delete p;

p = NULL;

system("pause");

    return 0;

}

//代码:Line.h

#include <iostream>

#include <stdlib.h>

#include "Coordinate.h"

using namespace std;



class Line

{

public:

Line(int x1,int y1,int x2,int y2);

~Line();

void setA(int x,int y);

void setB(int x,int y);

void printInfo();

private:

Coordinate m_coorA;

Coordinate m_coorB;

};

//Line.cpp

#include <iostream>

#include <stdlib.h>

#include "Coordinate.h"

#include "Line.h"

Line::Line(int x1,int y1,int x2,int y2):m_cooA(x1,y1),m_coorB(x2,y2)

{

cout << "Line()" << endl;

}

Line::~Line()

{

cout << "~Line()" << endl;

}

void Line::setA(int x, int y) 

{

m_coorA.setX(x);

m_coorB.setY(y);

}

void Line::setB(int x, int y)

{

m_coorA.setX(x);

m_coorB.setY(y);

}

void Line::printInfo()

{

cout <<"("<<m_coorA.getX()<<","<<m_coorA.getY()<<")"<< endl;

cout <<"("<<m_coorB.getX()<<","<<m_coorB.getY()<<")"<< endl;

}

//Coordinate.h

#include <iostream>

#include <stdlib.h>

using namespace std;

class Coordinate

{

public:

Coordinate();

~Coordinate();

void setX(int x);

int getX();

void setY(int y);

int getY();

private:

int m_iX;

int m_iY;

};

//Coordinate.cpp

#include "stdafx.h"

#include <iostream>

#include <stdlib.h>

#include "Coordinate.h"


Coordinate::Coordinate()

{

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;

}



0 回复 有任何疑惑可以回复我~

代码贴一下呗

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之封装篇(上)
  • 参与学习       103381    人
  • 解答问题       732    个

封装--面向对象的基石,本教程力求帮助小伙伴们即学即会

进入课程

为什么运行代码出现这个,如何解决

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号