I'm trying to do this with different .cpp files in the same project.
Not sure if it matters, I'm using devC++.
My problem is, I can't compile it and I can't inherit anything at all.
Please help
Thank you.
// in main
#include <cstdlib>
#include <iostream>
#include <string>
#include "baseClass.h"
#include "derivedClass.h"
using namespace std;
int main(int argc, char *argv[])
{
derivedClass one;
one.set( 2, 3 );
one.show ();
one.setk();
one.showk();
system("PAUSE");
return EXIT_SUCCESS;
}
// base class .h
#ifndef H_baseClass
#define H_baseClass
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
class baseClass
{
protected:
int i;
int j;
public:
void set ( int a, int b );
void show ();
baseClass();
};
#endif
// base class .cpp
#include <cstdlib>
#include <iostream>
#include <string>
#include "baseClass.h"
using namespace std;
void baseClass::set ( int a, int b )
{
i = a;
j = b;
}
void baseClass::show ()
{
cout << i << " " << j << endl;
}
baseClass::baseClass()
{
}
// derived class .h
#ifndef H_derivedCLass
#define H_derivedCLass
#include <cstdlib>
#include <iostream>
#include <string>
#include "baseClass.h"
using namespace std;
class derivedClass: public baseClass
{
private:
int k;
public:
derivedClass(); // constructor
void setk ( );
void showk ( );
};
#endif
// derived class .cpp
#include <cstdlib>
#include <iostream>
#include <string>
#include "derivedClass.h"
using namespace std;
void derivedClass::setk ( )
{
k = i * j; // compiler is telling me to declare k, but why?
// didn't I give k and passed it to the derived class
// when i made the base class?
}
void derivedClass::showk ( )
{
cout << k << endl;
}
// constructor
derivedClass::derivedClass()
{
}
[Edited by - powerskill on November 26, 2006 3:12:36 PM]