I wrote a program with classes. When in one file it works fine. But when i split them up into three the main program won't read the other two WHY?
.H FILE
// FILE w.h
#ifndef LUNAR_LANDER
#define LUNAR_LANDER
class lunar_lander
{
public:
lunar_lander(float);//, float, float, float, float, float, float);
// ALTITUDE AND ACCESSOR
float alt(float, float, float);
void setalt(float alt);
const float getalt();
// VERTICAL SPEED AND ACCESSOR
float vvel(float, float, float);
// FUEL IN TANK AND ACCESSOR
float tankf();
// FUEL FLOW RATE AND ACCESSOR
float frate(float);
void frate();
// LANDER MASS AND ACCESSOR
float massl();
// LANDER THRUST AND ACCESSOR
float thrust();
// MAX FUEL CONSUMPTION RATE AND ACCESSOR
float fuelconsum(float , float , float );
// WHEN LUNAR LANDS
int landed();
// TIME
float time(float);
void time();
private:
float alt_;
int count;
float vvel_;
float tankf_;
float frate_;
float fuelconsum_;
float thrust_;
float massl_;
float time_;
};
#endif
IMPLEMENTATION FILE
#include "56.h"
#include <iostream>
#include <climits>
using namespace std;
lunar_lander::lunar_lander(float a) //float fl, float vs, float t,
//float fr, float thr, float ml)
{
alt_ = a;
// vvel_ = vs;
// fuelconsum_ = fl;
// time_ = t ;
// frate_ = fr;
// thrust_ = thr;
//massl_ = ml;
//fr = t* frate_ * fl;
}
// ALTITUDE OF THE LUNAR LANDER
float lunar_lander::alt(float a, float vs, float t)
{
alt_ = a;
vvel_ = vs;
time_=t;
a = t * vs;
return a;
}
// VERTICAL VELOCITY
float lunar_lander::vvel(float t, float ml, float thr)
{
time_ = t;
thrust_ = thr;
massl_ = ml;
return t * ( thr/ml - 1.62);
}
// FUEL CONSUMPTION
float lunar_lander::fuelconsum( float t, float fr, float ml)
{
time_ = t;
fuelconsum_ = fr;
massl_ = ml;
t * fr * ml;
return t * fr * ml;;
}
// MASS OF THE LUNAR_LANDER W/0 FUEL
float lunar_lander::massl()
{
return massl_;
}
// INTIAL SPEED OF THE LUNAR_LANDER
float lunar_lander::thrust()
{
return thrust_;
}
// CORRECTS FRATE IF TANKS IS EMPTY
float lunar_lander::frate(float tankf)
{
if(tankf = 0)
{
frate_ = 0;
}
return frate_;
}
// CHECKS IF TANK IS FULL OF FUEL
float lunar_lander::tankf()
{
return tankf_;
}
// TELLS IF THE LANDER HAS LANDED
int lunar_lander::landed()
{
if (alt_<=0)
return 1;
return 0;
}
// CORRECTS IF TIME GOES BELOW ZERO
float lunar_lander::time(float q)
{
time_ = 0.0;
time_ ++;
if (time_ <= 0.0)
{
time_ = 0.0;
}
}
// FUEL RATE
void lunar_lander::frate()
{
for(float i = 0.0; i < 1.0; ++i)
frate_++;
}
// MUTATOR THAT ALLOWS TIME TO PASS
void lunar_lander::time()
{
for(float z = 0.0; z < INT_MAX; ++z)
time_++;
}
const float lunar_lander::getalt()
{
return alt_;
}
void lunar_lander::setalt(float alt)
{
if(alt >0 && alt <INT_MAX)
{
alt = alt_;
}
else
cerr << "What" << endl;
}
float thrust = 5000;
float alt = 1000;
float frate = 0;
float vvel_ = 0;
float tankf = 1700;
const float massl = 900;
const float fuelconsum = 10;
const float gravity = 1.62;
MAIN PROGRAM
#include "56.h"
#include "56.cpp"
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
lunar_lander y(14);
y.setalt(15);
cout << y.getalt() << endl;
getch();
}
THE MAIN won't read from the first two, but the implemention file will read from the 56.h.?