Ah, I see what you mean. In that case, I would recommend you create corresponding .cpp (or .c) files for your headers.
Header 1
Code:
#ifndef _HEADER1_H_
#define _HEADER1_H_
int getHello1() ;
void setHello1( int ) ;
#endif
Header 2
Code:
#ifndef _HEADER2_H_
#define _HEADER2_H_
void setHello2( int ) ;
int getHello2() ;
#endif
Implementation file for Header 1
Code:
#include "header1.h"
static int hello ;
int getHello1()
{
return hello ;
}
void setHello1( int h )
{
hello = h ;
}
Implementation file for Header 2
Code:
#include "header2.h"
static int hello ;
int getHello2()
{
return hello ;
}
void setHello2( int h )
{
hello = h ;
}
Main Source File
Code:
#include <stdio.h>
#include <stdlib.h>
#include "header1.h"
#include "header2.h"
int main(int argc, char *argv[])
{
setHello1 ( 1 ) ;
setHello2 ( 2 ) ;
printf( "1st hello = %d\n", getHello1() ) ;
printf( "2nd hello = %d\n", getHello2() ) ;
getchar() ;
return 0;
}