(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;
}
Leave a comment