Implement Sub::name and Sub::formula in the base class

Eliminates the need for redundant implementations in all the derived
classes. Also, make the return value a "const char*" to eliminate the dangerous
cast.
This commit is contained in:
Ray Speth 2014-04-14 18:36:32 +00:00
parent f8ff70ed38
commit fcf7edf694
20 changed files with 7 additions and 98 deletions

View file

@ -76,10 +76,15 @@ public:
virtual double Tmax()=0;
//! Name of the substance
virtual char* name() = 0;
const char* name() {
return m_name.c_str();
}
//! Chemical formula for the substance
virtual char* formula() = 0;
const char* formula() {
return m_formula.c_str();
}
//! @}
//! @name Properties

View file

@ -310,14 +310,6 @@ double CarbonDioxide::Tmax()
{
return Tmx;
}
char* CarbonDioxide::name()
{
return (char*) m_name.c_str() ;
}
char* CarbonDioxide::formula()
{
return (char*) m_formula.c_str();
}
double CarbonDioxide::MolWt()
{
return M;

View file

@ -24,8 +24,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
//! Pressure. Equation P-3 in Reynolds. P(rho, T).
double Pp();

View file

@ -210,14 +210,6 @@ double HFC134a::Tmax()
{
return Tmx;
}
char* HFC134a::name()
{
return (char*) m_name.c_str();
}
char* HFC134a::formula()
{
return (char*) m_formula.c_str();
}
double HFC134a::MolWt()
{
return M;

View file

@ -28,8 +28,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double fp();

View file

@ -263,14 +263,6 @@ double Heptane::Tmax()
{
return Tmx;
}
char* Heptane::name()
{
return (char*) m_name.c_str();
}
char* Heptane::formula()
{
return (char*) m_formula.c_str();
}
double Heptane::MolWt()
{
return M;

View file

@ -22,8 +22,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
//! Pressure. Equation P-2 in Reynolds.
double Pp();

View file

@ -264,14 +264,6 @@ double hydrogen::Tmax()
{
return Tmx;
}
char* hydrogen::name()
{
return (char*) m_name.c_str();
}
char* hydrogen::formula()
{
return (char*) m_formula.c_str();
}
double hydrogen::MolWt()
{
return M;

View file

@ -23,8 +23,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();

View file

@ -235,14 +235,6 @@ double methane::Tmax()
{
return Tmx;
}
char* methane::name()
{
return (char*) m_name.c_str();
}
char* methane::formula()
{
return (char*) m_formula.c_str();
}
double methane::MolWt()
{
return M;

View file

@ -23,8 +23,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();

View file

@ -248,14 +248,6 @@ double nitrogen::Tmax()
{
return Tmx;
}
char* nitrogen::name()
{
return (char*) m_name.c_str();
}
char* nitrogen::formula()
{
return (char*) m_formula.c_str();
}
double nitrogen::MolWt()
{
return M;

View file

@ -23,8 +23,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();

View file

@ -242,14 +242,6 @@ double oxygen::Tmax()
{
return Tmx;
}
char* oxygen::name()
{
return (char*) m_name.c_str();
}
char* oxygen::formula()
{
return (char*) m_formula.c_str();
}
double oxygen::MolWt()
{
return M;

View file

@ -22,8 +22,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();

View file

@ -55,12 +55,6 @@ public:
double Tmax() {
return 1.0e10;
}
char* name() {
return (char*) m_name.c_str() ;
}
char* formula() {
return (char*) m_formula.c_str() ;
}
double Pp();
double up();

View file

@ -217,14 +217,6 @@ double water::Tmax()
{
return Tmx;
}
char* water::name()
{
return (char*) m_name.c_str();
}
char* water::formula()
{
return (char*) m_formula.c_str();
}
double water::MolWt()
{
return M;

View file

@ -22,8 +22,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();

View file

@ -160,14 +160,6 @@ double leekesler::Tmax()
{
return 10000.0;
}
char* leekesler::name()
{
return (char*) m_name.c_str();
}
char* leekesler::formula()
{
return (char*) m_formula.c_str();
}
double leekesler::MolWt()
{
return Mw;

View file

@ -28,8 +28,6 @@ public:
double Vcrit();
double Tmin();
double Tmax();
char* name();
char* formula();
double Pp();
double up();