Implemetierung und Test der Klasse MesswerteA
Die Klasse MesswerteA erbt nun alle Fähigkeiten und Attribute der KLasse Messwerte und erhält zusätzlich die Methoden berechneMittelwert() und berechneStreuung():
using namespace std;
class MesswerteA : public Messwerte
{
public:
double berechneMittelwert()
{
double mitte = 0.0;
for(int i=0;i<getSize();i++)
mitte+=messwerte->at(i);
return mitte/(double)getSize();
}
double berechneStreuung()
{
double streu = 0.0;
double mitte = berechneMittelwert();
for(int i=0;i<getSize();i++)
streu+=(messwerte->at(i)-mitte)*(messwerte->at(i)-mitte);
return sqrt(streu)/(double)getSize();
}
};
Code 0-1: MesswerteA.h
#include<math.h>
#include<iostream>
#include<vector>
#include "Messwerte.h"
#include "MesswerteA.h"
using namespace std;
int main(void)
{
MesswerteA meineMessungen;
meineMessungen.add(1.0);
meineMessungen.add(7.0);
meineMessungen.add(3.2);
meineMessungen.add(1.5);
int anzahlA = meineMessungen.getSize();
cout<<"AnzahlA="<<anzahlA<<endl;
double* werteA = meineMessungen.toArray();
for(int i=0;i<anzahlA;i++)
cout<<"WertA Nr."<<i<<": "<<werteA[i]<<endl;
double mitte = meineMessungen.berechneMittelwert();
double streu = meineMessungen.berechneStreuung();
cout<<"Mittelwert der Messwerte: "<<mitte<<endl;
cout<<"Streuung der Messwerte: "<<streu<<endl;
}
Code 0-2: testemesswerteA.cpp
testemesswerteA.zip