Calling define within another define

#include <iostream.h>
using namespace std;
#define WEEK_HR 40
#define REG(x) ((x) < WEEK_HR ? 40 : WEEK_HR)
#define WEEK_PAY(hours,rate) ( rate * REG(hours))
//preprocessor_7.cpp
int main()
{
double hours, rate;
cout << "Use one define in another\n " ;
cout << "enter hours and rate : " ;
cin >> hours >> rate ;
cout <<" Wage this week " << WEEK_PAY(hours, rate) <<"\n" ;
return 0;
}