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;
}
Advertisements

About Ronnie Diaz

Ronnie Diaz is an enterprise software engineer responsible for front-end and back-end development for companies in many industries. Heavily involved in cloud development, online retail, e-commerce and electronic ordering, fulfillment and customer relational systems.

Posted on June 3, 2011, in Programming & Development and tagged , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: