26

If anyone could lay this out, I would appreciate it. Example of what I thought would work (assume the needed #include statements are there):

//.h file
class someclass(){}

//.cpp
someclass::
    someclass(){
         //implementation
         // of 
         //class
};
user2020058
  • 591
  • 2
  • 7
  • 9

3 Answers3

52

someclass.h file

#ifndef SOME_CLASS_H
#define SOME_CLASS_H    

class someclass
{
public:
  someclass();  // declare default constructor

private:
  int member1; 
};

#endif

someclass.cpp

someclass::someclass()   // define default constructor
: member1(0)             // initialize class member in member initializers list
{
   //implementation
}
billz
  • 44,644
  • 9
  • 83
  • 100
6

Header:

//.h file
class someclass
{
    someclass();
}; // <-- don't forget semicolon here

Source:

#include "someClass.h"
//.cpp
someclass::someclass()
{
    // Implementation goes here
} // <-- No semicolon here
Billy ONeal
  • 104,103
  • 58
  • 317
  • 552
5

You have to declare the constructor in your class if you want to provide a definition for it. You are only doing the second thing.

Also, your original class definition contains some mistakes: no parentheses are needed after the class name, and a semicolon is needed after the final curly brace.

class someclass
{
    someClass(); // Here you DECLARE your constructor
};

...

someclass::someclass() // Here you DEFINE your constructor
{
    ...
}
Andy Prowl
  • 124,023
  • 23
  • 387
  • 451