Blog Archives

C++ Simple Class Implementation using Header

(The following example project was created using Microsoft Visual Studio 2008 Win32 Console Application)

example header (“robot.h”):

//ifndef and define recommended to prevent double compilation
#ifndef ROBOT_H
#define ROBOT_H

//notice methods, variables and properties are defined, but functionality is not specified within
class robot
{
    public:
        robot(); //constructor
        ~robot(); //destructor

        int PublicProperty();

        void DoWork();
            
    private:

        int _privatevalue;

};

#endif

class implementation of header (“robot.cpp”):

#include "StdAfx.h"
#include "robot.h"
#include "cstdlib"
#include "ctime"

#ifndef ROBOT
#define ROBOT

//not necessary to specify class again in this case

robot::robot()
{
}

robot::~robot()
{
}

int robot::PublicProperty() {
    return _privatevalue;
}

void robot::DoWork() {
//do something
_privatevalue = "somevalue";
}
#endif

class usage example (“main.cpp”):

#include "stdafx.h"
#include <iostream>
#include "robot.h"

using namespace std;

int main()
{
robot rtwo; //notice no constructor

rtwo.DoWork(); //change internal private value to "somevalue"
cout << rtwo.PublicProperty(); //should output "somevalue"
int pause;
cin >> pause;

return 0;
}