问答

请问这里多文件结构报错的原因是什么?

作者:admin 2021-07-06 我要评论

代码是从教科书上抄的。 文件1:test.h class Point{public: Point(int x=0,int y=0):x(x),y(y){} Point(const Point p); ~Point(){count--;} int getX() const ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

代码是从教科书上抄的。
文件1:test.h

class Point{
public:
  Point(int x=0,int y=0):x(x),y(y){}
  Point(const Point &p);
  ~Point(){count--;}
  int getX() const {return x;}
  int getY() const {return y;}
  static void showCount();
private:
  int x,y;
  static int count;
};

文件2:test.cpp

#include "test.h"
#include <iostream>
using namespace std;

int Point::count = 0;
Point::Point(const Point &p) : x(p.x), y(p.y){
  count++;
}
void Point::showCount(){
  cout<<"object count="<<count<<endl;
}

文件3,主函数

#include "test.h"
#include <iostream>
using namespace std;

int main(){
  Point a(4,5);
  cout<<"point a:"<<a.getX()<<","<<a.getY();
  Point::showCount();

  Point b(a);
  cout<<"point B:"<<b.getX()<<","<<b.getY();
  Point::showCount();

  return 0;
}

屏幕截图(155).png
屏幕截图(153).png
我检查了很多次,后面试着把它们全放在一个文件了是可以正常运行的,但分开就不知道问题是出在哪里了,百度也没找到答案。
新手自学,大概犯的是很低级的错误,希望有人指点一下。

###

链接错误。看看有没有把test.cpp也编译链接进去了。

###
g++ test1.cpp test.cpp

是可以编译通过的,检查一下你的IDE配置

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • elementUI表单Object.assign处理后无法

    elementUI表单Object.assign处理后无法

  • nacos作为配置中,有时可以加载到配置

    nacos作为配置中,有时可以加载到配置

  • font-spider压缩字体后,文件大小没有

    font-spider压缩字体后,文件大小没有

  • Vue SSR babel node_modules中的一个包

    Vue SSR babel node_modules中的一个包

腾讯云代理商
海外云服务器