Re: I need help with "Inheritance" and "Polymorphism"
"Fao" writes:
Hello, I am having some problems with inheritance. The compiler does
not not return any error messages, but when I execute the program, it
only allows me to enter the number, but nothing else happend. I think
the problem may be in my input function or in the main function.
Your immediate problem has nothing to do with inheritance or polymorphism
If anyone out there can help me it woul be greatly appreciated.
Here is the code:
#include <iostream>
using namespace std;
const int SENTINEL = -999;
// This class does all kinds of wonderful things. (Expand on that)
class SumType
{
protected:
int n[10];
int sum, max, max2, avg;
int counter;
int number;
int *ptr0, *ptr1, *ptr;
public:
SumType();
void input();
void calculation();
double output();
};
class AverageType: public SumType
{
protected:
double avg;
public:
void calculation();
double output();
};
class MaxType: public SumType
{
protected:
double max, max2;
public:
void calculation();
double output();
};
class Max2Type: public SumType
{
protected:
double max2;
public:
void calculation();
double output();
};
///////////////////////////////////////////////////////////////////////////////////
SumType::SumType()
{
sum = 0;
max = 0;
max2 = 0;
avg = 0;
counter = 0;
number = 0;
}
void SumType::input()
{
cout << "Enter your numbers: " << endl;
//ptr0 = &n[0];
while(number != SENTINEL)
{
counter++;
cin >> counter;
There are two ways to change the value of count. One by the count++ above
and another by getting input from the user. Does this make sense? I can
only guess at what you are trying to do, but if you are trying to fill an
array you shouldn't ask the user to provide a count. Presumably that is
what SENTINEL is for. I would make a wild guess that you are trying to fill
an array.
This might be a simple brain fart but if it isn't you might make more
progress by throwing away all that advanced polymorphism stuff and strip
this down to a class without inheritance. You have done too much typing and
too little testing. And you use so much white space that my head hurts.
<snip>