Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Abstrakter Datentyp in C++ I - Klasse - Programmierung 2 FH Bingen class Vector { private: double x; double y; double z; public: void set (double a, double.

Ähnliche Präsentationen


Präsentation zum Thema: "Abstrakter Datentyp in C++ I - Klasse - Programmierung 2 FH Bingen class Vector { private: double x; double y; double z; public: void set (double a, double."—  Präsentation transkript:

1 Abstrakter Datentyp in C++ I - Klasse - Programmierung 2 FH Bingen class Vector { private: double x; double y; double z; public: void set (double a, double b, double c); double x_coord (); double y_coord (); double z_coord (); double length (); void smult (double); Vector add (Vector, Vector); double sprod (Vector a); void vprod (Vector a, Vector b); }

2 Klasse II Programmierung 2 FH Bingen class Classname { private: public: } Klassen-Name Member: Attribute Methoden Member: Attribute Methoden

3 Klasse III Programmierung 2 FH Bingen private member:auf die private members können nur Methoden der Klasse selbst zugreifen. Attribute können nur durch Methoden dieser Klasse gelesen oder manipuliert werden. Methoden können nur durch Methoden dieser Klasse aufgerufen werden. public member:der Zugriff auf die public members ist für alle Methoden zugelassen.

4 Klasse IV - Definition eines Objektes - Programmierung 2 FH Bingen Vector a; a.x = 0; Vector b; b.set (1, 0, 0);

5 Klasse V - Methoden - Programmierung 2 FH Bingen double Vector::set (double a, double b, double c); { x = a; y=b; z = c; } double Vector::x_coord() { return x; } double Vector::y_coord() { return y; } double Vector::z_coord() { return z; } Scope Resolution Operator

6 Klasse VI Programmierung 2 FH Bingen double Vector::length () { return sqrt (x*x + y*y + z*z); } void Vector::smult (double skalar) { x *= skalar; y *= skalar; z *= skalar; } Vector Vector::add (Vector a, Vector b) { x = a.x + b.x; y = a.y + b.y; z = a.z + b.z; }

7 Klasse VII Programmierung 2 FH Bingen double Vector::sprod (Vector a) { return x*a.x + y*a.y + z*a.z; } void Vector::vprod (Vector a, Vector b) { x = a.y*b.z - b.y*a.z; y = -(a.x*b.z - b.x*a.z); z = a.x*b.y - b.x*a.y; }

8 Klasse VIII Programmierung 2 FH Bingen #include void main () { Vector a, b, c; a.set (1, 0, 0); b.set (0, 0, 1); cout << "\nDie Laenge von a = (" << a.x_coord() <<", "<< a.y_coord() << ", " <

9 Klasse IX - Konstruktoren - Programmierung 2 FH Bingen Lebenszyklus der Instanz einer Klasse: Instantiieren und Initialisieren eines Objektes Benutzen eines Objektes Beseitigen eines Objektes

10 Klasse X - Konstruktor - Programmierung 2 FH Bingen Ein Konstruktor ist eine Methode. Er kann deshalb auch Parameter tragen. Ein Konstruktor trägt den Namen seiner Klasse. Ein Konstruktor trägt keinen Return-Typ (auch nicht void). Eine Klasse kann mehrere Konstruktoren beinhalten.

11 Klasse XI - Konstruktor - Programmierung 2 FH Bingen class Vector { private: double x; double y; double z; public: Vector (); Vector (double, double, double); };

12 Klasse XII - Konstruktor - Programmierung 2 FH Bingen Vector::Vector() { x=0; y=0; z=0; } Vector::Vector (double a, double b, double c) { x = a; y = b; z = c; }

13 Klasse XIII - Konstruktor - Programmierung 2 FH Bingen void main () { Vector a(1,0,0); Vector b(1,1,1); Vector c; }

14 Überladen I Programmierung 2 FH Bingen In C++ dürfen unterschiedliche Funktionen gleichen Namens definiert werden. Diese Funktionen müssen sich in ihrer Parameter-Signatur unterscheiden

15 Überladen II Programmierung 2 FH Bingen Vector::print ( double x) { cout << "Die Koordinate hat den Wert" << x << '\n'; } Vector::print (Vector a) { cout << "Der Vector hat den Wert ( " << a.x << ", " a.y << ", " << a.z << ")\n"; }

16 Überladen III Programmierung 2 FH Bingen main () { Vector a(1, 2, 3); print (a.x_coord); print (a); }


Herunterladen ppt "Abstrakter Datentyp in C++ I - Klasse - Programmierung 2 FH Bingen class Vector { private: double x; double y; double z; public: void set (double a, double."

Ähnliche Präsentationen


Google-Anzeigen