I have the following header file, implementation file and main file:
Member.hpp
#ifndef _Member_
#define _Member_
#include <iostream>
#include <string>
using namespace std;
class Member
{
private:
string Name;
int MemNum,Birthday;
public:
static Member* ptrBoss;
Member(int MemNum=0, string Name="noname",int Birthday=0);
int getBirthday() const
{
return Birthday;
}
void print();
static void setBoss(Member a)
{
ptrBoss=&a;
}
static void getBoss()
{
ptrBoss->print();
}
void setName(string s)
{
Name = s;
}
void setNr(int n) {
MemNum= n;
}
void setBday(int b)
{
Birthday=b;
}
};
#endif
My member.cpp
file
#include <iostream>
#include <iomanip>
using namespace std;
Member::Member(int MemNum, string Name,int Birthday)
{
setNr(MemNum);
setName(Name);
setBday(Birthday);
}
void Member::print()
{
cout << "Member data:\n"
<< " Number : " << MemNum << '\n'
<< " Name : " << Name << '\n'
<< " Birthday: " << Birthday << '\n'
<< endl;
cout<<"Press Enter to get next Member";
cin.get();
}
My main.cpp
file
#include <iostream>
#include <string>
using namespace std;
int main()
{
Member obj(0,"Null",0);
Member Member1(1,"Ryan",21);
Member Member2(2,"Josh",13);
Member1.print();
Member2.print();`enter code here`
obj.setBoss(Member2);
obj.getBoss();
}
I am getting this error:
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\aryan\AppData\Local\Temp\ccgwJ6jB.o:tempCodeRunnerFile.cpp:(.text$_ZN6Member7setBossES_[__ZN6Member7setBossES_]+0x7): undefined reference to `Member::ptrBoss'
c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\aryan\AppData\Local\Temp\ccgwJ6jB.o:tempCodeRunnerFile.cpp:(.text$_ZN6Member7getBossEv[__ZN6Member7getBossEv]+0x7): undefined reference to `Member::ptrBoss'
collect2.exe: error: ld returned 1 exit status