kramann.info
© Guido Kramann

Login: Passwort:










Informatik3
1 Vom_struct_zur_Klasse
..1.1 Vom_struct_zur_Klasse
..1.2 struct_Programm
..1.3 Klassen_Programm
..1.4 Offene_Fragen
..1.5 Historie
..1.6 Objektabstraktion
..1.7 OO_Kundenverwaltung
..1.8 Objektfaehigkeiten
..1.9 Formatierung
..1.10 Motivation
..1.11 Uebung1
..1.12 Uebung2
2 UML
..2.1 Volumenberechnung
..2.2 UML_Klassendiagramm
..2.3 Konstruktor
..2.4 Statische_Variable
3 Strings
..3.1 Klassenbibliotheken
..3.2 stringUML
..3.3 Uebung3
4 Initialisierungen
4 bluej
5 Zeiger_und_Arrays
..5.1 Zeiger
..5.2 Zeiger_und_Funktion
..5.3 Uebung4
6 Vererbung
..6.1 MesswerteUML
..6.2 MesswerteProgramm
..6.3 VererbungsProgramm
..6.4 Vector
..6.5 Uebung
7 Modifikatoren
..7.1 public_Vererbung
..7.2 protected_Vererbung
8 Listen_und_Templates
..8.1 Containertypen
....8.1.1 ListeUML
....8.1.2 ListeProgramm
..8.2 Templates
....8.2.1 Listentemplate
....8.2.2 STLvectorTemplate
..8.3 Uebung5
..8.4 Uebung6
..8.5 Uebung7
9 Java
..9.1 Uebung
..9.2 GettingStarted
..9.3 Animation
..9.4 Hybrid
..9.5 Threads
10 Delegation
11 LayoutProjekt
12 Fenster
13 Uebung
14 Zwischenprojekt
..14.1 Befehle
..14.2 Planung
..14.3 JNI
..14.4 JNIumsetzen
..14.5 Anwendungsklasse
..14.6 GUI01
..14.7 GUI02
15 Rasterlayout
..15.1 Bilder_Packages
..15.2 interfaces
..15.3 ArrayList
..15.4 clone
..15.5 Uebung
16 Nuetzliches
..16.1 Threads
..16.2 Animation
..16.3 RungeKutta
..16.4 Loesungsansatz
..16.5 Internetprogrammierung
....16.5.1 Codegenerierung
....16.5.2 PHP_Programmierung
....16.5.3 PHP_OOP
....16.5.4 Java
17 Algorithmen
..17.1 RungeKutta
..17.2 Loesungsansatz
..17.3 Evoopt
..17.4 Uebung12
..17.5 Uebung8_2014
..17.6 Ausdruecke
18 Uebung10
19 UML_ALT
..19.1 Flaechenberechnung
..19.2 UML_Flaechenberechnung
..19.3 Implementierung
..19.4 ListeUML
..19.5 ListenImplementierung
..19.6 Anwendung

6.3 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 6.3-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 6.3-2: testemesswerteA.cpp

testemesswerteA.zip