// one *.h file can correspond two or more *.cpp files
// or a class definition can distribute in more than one *.cpp files
// part.h
#ifndef PART_H
#define PART_H
#include <iostream>
class A
{
public:
void printPart1();
void printPart2();
};
#endif // PART_H
// compile part1.cpp to part1.obj alone
// part1.cpp
#include "part.h"
void A::printPart1()
{
std::cout << "Part1" << std::endl;
}
// compile part2.cpp to part2.obj alone
// part2.cpp
#include "part.h"
void A::printPart2()
{
std::cout << "Part2" << std::endl;
}
// main funciton to test
// print result: Part1 Part2
#include "part.h"
int main()
{
A a;
a.printPart1();
a.printPart2();
return 0;
}