0

I am working on developing an operating kernel from the scratch. I set the development environment on Linux. After all of the Low Level Programming in Assembly language, now i am working in C++. I have managed the task in different modules. There is a problem to me. I will expalin the generic form of my problem. i have created three files in a in the same directory.

1) main.cpp
2) myclass.h
3) myclass.cpp



// main.cpp


        #include<iostream>
        #include"myclass.h"
        using namespace std;
        int main()
        {
            myclass a;
            return 0;
        }

  //myclass.h

#ifndef MYCLASS_H
#define MYCLASS_H

class myclass
{
public:
    myclass();

};

#endif

// myclass.cpp

#include<iostream>
#include"myclass.h"
using namespace std;
myclass :: myclass()
{

    cout<<"Constructer";
}

when i compile main.cpp it shows:

/tmp/ccm50K0J.o: In function main': main.cpp:(.text+0x10): undefined reference tomyclass::myclass()' collect2: error: ld returned 1 exit status

But when i put the function definition in the header file it works. Thanks in Advance ..............

Habibullah
  • 43
  • 8

0 Answers0