Is this like what you want?
Code:
/* this is hello.cpp */
#include <cstdio>
#include "pd.h"
int main(void){
ProgramDriver PD;
printf("main value1 = %lf\n", value1);
printf("main value2 = %lf\n", value2);
PD.function();
}
Code:
/* this is pd.h */
#ifndef PD_INCLUDED
#define PD_INCLUDED
#include "class1.h"
extern double value1;
extern double value2;
class ProgramDriver {
private:
Class1 c1;
public:
void function(void);
};
#endif
Code:
/* this is pd.cpp */
#include <cstdio>
#include "pd.h"
double value1 = 0.0;
double value2 = 0.0;
void ProgramDriver::function(){
value1 = 10.0;
value2 = 20.0;
printf("ProgramDriver::function value1 = %lf\n", value1);
printf("ProgramDriver::function value2 = %lf\n", value2);
c1.start(); // do something in class 1
}
Code:
/* this is class1.h */
#ifndef CLASS1_INCLUDED
#define CLASS1_INCLUDED
class Class1 {
public:
void start();
};
#endif
Code:
/* this is class1.cpp */
#include <cstdio>
#include "pd.h"
#include "class1.h"
void Class1::start() {
printf("Class1::start value1 = %lf\n", value1);
printf("Class1::start value2 = %lf\n", value2);
}