Here is the code I used and it works fine with gcc compiler on Linux after some editing. I can't remember where I edited. Its upto you to figure it out :-)
In main.cpp check the declaration of interger2
Code:
//integer.h
#ifndef INTEGER_H
#define INTEGER_H
#include <iostream>
class Integer
{
private:
int value;
public:
Integer(); //constructor
~Integer(); //destructor
void setValue(int number); //sets value
int returnValue(); //returns value
};
#endif
------------------------------------------------------------
Code:
//integer.cpp
#include "integer.h"
#include <iostream>
Integer::Integer()
{
value = 0;
std::cout << "Constructor used." << std::endl;
}
Integer::~Integer()
{
std::cout << "Destructor sued." << std::endl;
}
void Integer::setValue(int number)
{
value = number;
}
int Integer::returnValue()
{
return value;
}
--------------------------------------
Code:
//main.cpp
#include "integer.h"
#include <iostream>
int main()
{
Integer integer1;
Integer integer2;
integer1.setValue(1);
integer2.setValue(2);
std::cout << "The value of integer1 is "
<< integer1.returnValue()
<< "."
<< std::endl;
std::cout << "The value of integer2 is "
<< integer2.returnValue()
<< "."
<< std::endl;
system("PAUSE");
return 0;
}