lundi 5 août 2019

Static Object of a class in another class in aggregation relationship C++

I have two classes first class contains the object of another class as static but C++ doesnot allow me to do this and gives me some error.

source.cpp

#include"control.h"

int main()
{
  Controller cnt;
  cnt.tempcont();
  return 0;
}

control.h

#include"recorder.h"

class Controller 
{
public:
  static recorder rec;
  void tempcont();
};

recorder Controller::rec;

control.cpp

#include"control.h"

void Controller::tempcont()
{
  rec.temprec();
}

recorder.h

#include<iostream>

using namespace std;

class recorder
{
public:
  int a;
  void temprec();
};


recorder.cpp

#include"recorder.h"

void recorder::temprec()
{
  cout << "temp rec called";
}

I am getting the following errors and i have no idea why these errors are comming..

Error LNK1169 one or more multiply defined symbols found

Error LNK2005 "public: static class recorder Controller::rec" (?rec@Controller@@2Vrecorder@@A) already defined in control.obj

Aucun commentaire:

Enregistrer un commentaire