SlideServe
Menu
Préférences
© SlideServe · v2026

Constructing Objects

cstephen avatar
14 diapositives · 171 Views · Jan 05, 2020

Constructing Objects. Classes – not for education only (or are they) OR Political correctness is not for objects. Typedef. Aliasing types (or classes) typedef int Age; typedef string Name; typedef float Distance_in_Meters; typedef float Money_in_Ks;// dollars. Classes.

Constructing Objects - slide 1
01 / 14Constructing Objects
1 / 17

Télécharger la présentation

Constructing Objects
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Constructing Objects Classes– not for education only (or are they) OR Political correctness is not for objects

  2. Typedef • Aliasing types (or classes) typedef int Age; typedef string Name; typedef float Distance_in_Meters; typedef float Money_in_Ks;//dollars Gene Itkis: cs112, lec.3

  3. Classes • Classes are “data types” • Programmer-defined • Pre-defined: • int, float, bool, etc. – are all classes • Every object must belong to a class Gene Itkis: cs112, lec.3

  4. A class is born… class ClassName{ public: // constructors;member functions/fields; protected: data fields/functions;private: data fields/functions;}; ClassName VarName; //instantiation Gene Itkis: cs112, lec.3

  5. Protecting Privacy • Public • The Interface – accessible by non-members and members alike • Private • Accessible only by members • Protected • Same as private, except for friends • Real classes should not have public variables– they would have public methods (functions) Gene Itkis: cs112, lec.3

  6. Class Action Class Action { public: bool Sue(Name Target, Money_in_Ks Ripoff) {…}; //function def skipped protected: Money_in_Ks Bribe; }; Action MyLawyer; Gene Itkis: cs112, lec.3

  7. Addressing Class Methods • How to address members of the class objects: MyLawyer.Sue(“Mr.BigBucks”, 100000.0); • My Lawer’s “friends” (from “BigBucks”) could access MyLawyer.Bribe = 100000.1; Gene Itkis: cs112, lec.3

  8. Example: Pair class pairOfInts { public: int firstInt; int secondInt; }; pairOfInts GameScore; GameScore.firstInt=1; GameScore.secondInt=4; //typical Red Sox score Gene Itkis: cs112, lec.3

  9. Example: Instructor class instructor { public: string name; string course; int num_students=0; }; Gene Itkis: cs112, lec.3

  10. Example 1 revisited class instructor { public: string name; string course; int numStudents(student studentList[100]) { return countStudents( StudentList, course ); } // countStudents() defined elsewhere }; Gene Itkis: cs112, lec.3

  11. Example: Pair revisited(on board) class pairOfInts { public: int firstInt; int secondInt; }; pairOfInts GameScore; GameScore.firstInt=1; GameScore.secondInt=4; //typical Red Sox score Gene Itkis: cs112, lec.3

  12. Crypto example • Baby RSA class RSA { public: int encrypt(int clear_text) { return pow(clear_text, pub_key)%modulus; } private: int modulus, pub_key;} RSA GeneRSA; … Cipher_text = GeneRSA.encrypt(message); Gene Itkis: cs112, lec.3

  13. Pointing at Objects float MyMoney; float* pMyMoney=&MyMoney; //ptr to //addr of Student S; Student* pS=&S; (*pS).gpa = 3.5; // object pointed at pS->gpa = 3.5 // same as above Gene Itkis: cs112, lec.3

  14. More on classes – in later classes To be continued…