how can i use aggregation while separating my classes into a .h and .cpp files?

  aggregation, c++, c++11, class

Hello every body so i have a problem where my professor gave me a task to make a program using aggregation between 2 classes while also separating the classes into a .h and .cpp files so i wrote my first class and everything was working when i wrote the second class i ran into this error :
Severity Code Description Project File Line Suppression State
Error C3867 ‘medicalCompany::location’: non-standard syntax; use ‘&’ to create a pointer to member CP2_HW c:function.cpp 41
please take a look and thanks in advance ^_^

header file:

#include <iostream>
#include <string>
using namespace std;

class medicalCompany {
private:
    string ceoName;
    string email;
    string phoneNumber;
    string locate;
public:
    medicalCompany();
    void Name(string n);
    void mail(string m);
    void phone(string p);
    void location(string l);
    ~medicalCompany();

};
class origin {
private:
    medicalCompany country;
    
public:
    origin();
    void address();
    ~origin();

};

and my .cpp file :

#include "function.h"
#include <string>
using namespace std;
medicalCompany::medicalCompany() {
    cout << "OUR COMPANY IS GLAD TO BE OF SERVICE !" << endl;
    cout << "****************************************************" << endl;
}
void medicalCompany::Name(string n){
    ceoName = n;
    cout << "OUR CEO IS " << endl;
    cout<< ceoName << endl;
    cout << "****************************************************" << endl;
}
void medicalCompany::mail(string m) {
    email = m;
    cout << "USE OUR EMAIL TO CONTACT US : " << endl;
    cout<< email << endl;
    cout << "****************************************************" << endl;
}
void medicalCompany::phone(string p) {
    phoneNumber = p;
    cout << "THIS IS OUR CUSTOMER SERVICE PHONE NUMBER " << endl;
    cout<< phoneNumber << endl;
    cout << "****************************************************" << endl;
}
void medicalCompany::location(string l) {
    locate = l;
    cout << " OUR COMPANY IS LOCATED IN " << endl;
    cout << locate << endl;
    cout << "****************************************************" << endl;
}
medicalCompany::~medicalCompany() {
    cout << "thanks for trusting our company ^_^" << endl;
    cout << "****************************************************" << endl;
}
origin::origin() {
    cout<< "constructor 2"<<endl;
}
void origin::address() {
    cout << country.location;
}
origin::~origin() {
    cout << "bye" << endl;
}

and my main.cpp file is :

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

int main() {

    medicalCompany o;
    o.Name("jack");
    o.mail("[email protected]");
    o.phone("2342352134");
    o.location("Germany");
    origin o2;

    return 0;
}

please HELP 🙁

Source: Windows Questions C++

LEAVE A COMMENT