Presentation is loading. Please wait.

Presentation is loading. Please wait.

Class Student class Student { private: string id; string firstName, lastName; float gpa; public: void Read() void Write() string getGPA() void setGPA(

Similar presentations


Presentation on theme: "Class Student class Student { private: string id; string firstName, lastName; float gpa; public: void Read() void Write() string getGPA() void setGPA("— Presentation transcript:

1 Class Student class Student { private: string id; string firstName, lastName; float gpa; public: void Read() void Write() string getGPA() void setGPA( float value ) void updateGPA( float amount )... }; // Student is a data type // Data and functions together 1

2 Class and Object // Declare variable and reserve memory space int numStudents; // Declare class variable // memory space for data fields // methods Student s1; // Input data into object s1 s1.Read(); // No values for data members s1.Write(); 2

3 Initial Values // Declare variable with initial value int numStudents = 0; // Can we declare class variable with initial value? Student s1; Use Class Constructors! 3

4 Class Default Constructor class Student { private: string id; string firstName, lastName; float gpa; public: Student() { id = “12345”; firstName = “first”; lastName = “last”; gpa = 2.5; } }; // Syntax for constructor // Default constructor has no parameters 4

5 Default Class Constructor // Default constructor is called Student s1; // The default constructor has set the // values for data members s1.Write(); // This will change the data fields s1.Read(); // Output data of object s1 s1.Write(); Constructor is called implicitly when class variables are declared. 5

6 Constructor with Parameters class Student { private: string id; string firstName, lastName; float gpa; public: Student(string sID, string first, string last, float g) { id = sID; firstName = first; lastName = last; gpa = g; } }; 6

7 Constructor with Parameters // Class constructor is called Student s1(“12345”, “John”, “Smith”, 2.8); // The constructor has set the // values for data members s1.Write(); // This will change gpa s1.UpdateGPA(0.1); // Output data of object s1 s1.Write(); 7

8 Class Constructors with Different Parameters class Student { private:... public: Student(string sID) { id = sID; // could set other default values } Student(string first, string last) { firstName = first; lastName = last; gpa = 2.5; // can still set gpa } }; 8

9 Class Constructors // Student(string sID) is called Student s1(“56789”); // Student(string first, string last) is called Student s2(“Qi”, “Yang”); // Student(String sID, string first, string last, // float g) is called Student s3(“13579”, “Joe”, “Clifton”, 3.9); // Student() is called Student s4(); 9

10 Different Constructors Must Have Different Parameters class Student { private:... public: Student(string last, string first) { firstName = first; lastName = last; } Student(string first, string last) { firstName = first; lastName = last; } }; Will this work? 10

11 Different Constructors Must Have Different Parameters // Which one will be called? // Student(string first, string last) // Student(string last, string first) Student s(“Qi”, “Yang”); 11

12 Different Parameters: Different Type class Student { private:... public: Student(string last, string first) { firstName = first; lastName = last; } Student(string sID, float g) { id = sID; gpa = g; } }; 12

13 Different Parameters: Different Type // Student(string first, string last) is called Student s(“Qi”, “Yang”); // Student(string sID, float g) is called Student s(“12345”, 3.3); 13

14 Class Constructors class Student { private:... public: Student() Student(string sID) Student(string first, string last) Student(string sID, float g) Student(string sID, string first, string last, float g) }; 14

15 Class Constructors // Student(string sID) is called Student s1(“56789”); // Student(string first, string last) is called Student s2(“Qi”, “Yang”); // Student(String sID, string first, string last, // float g) is called Student s3(“13579”, “Joe”, “Clifton”, 3.9); // Student() is called Student s4(); // Student(string sID, float g) is called Student s(“12345”, 3.3); 15

16 No Default Constructor class Student { private:... public: // Student() Student(string sID) Student(string first, string last) Student(string sID, float g) Student(string sID, string first, string last, float g) }; 16

17 No Default Constructor // Student(string sID) is called Student s1(“56789”); // Student(string first, string last) is called Student s2(“Qi”, “Yang”); // Student(String sID, string first, string last, // float g) is called Student s3(“13579”, “Joe”, “Clifton”, 3.9); // Student(string sID, float g) is called Student s(“12345”, 3.3); // No default constructor if a constructor is defined. Student s4(); 17

18 No Constructors class Student { private:... public: /* Student() Student(string sID) Student(string first, string last) Student(string sID, float g) Student(string sID, string first, string last, float g) */ }; 18

19 Class Constructors // Invalid Student s1(“56789”); // Invalid Student s2(“Qi”, “Yang”); // Invalid Student s3(“13579”, “Joe”, “Clifton”, 3.9); // Invalid Student s(“12345”, 3.3); // Default constructor is good! Student s4(); // Will not work! s4.Write(); s4.UpdateGPA( 0.1 ); 19

20 Copy Constructor class Student { private: string id, firstName, lastName; float gpa; public: Student(string sID, string first, string last, float g) // Copy constructor: // gets initial values from object s Student( Student s) { id = s.id; firstName = s.firstName; lastName = s.lastName; gpa = s.gpa; } }; 20

21 Class Constructors // Student(String sID, string first, string last, // float g) is called Student s1(“13579”, “Joe”, “Clifton”, 3.9); int x, y = 10; // Copy constructor is called Student s2(s1); // Similar to the copy constructor x = y; s2.Write(); s2.UpdateGPA( 0.1 ); s2.Write(); 21

22 Schedule Quiz7-2: Due Wednesday Program 5 Pairs by Wednesday 22

23 23 Test 1 Test 2 Test 3Final

24 24 Good Luck! Come to classes/labs Do the work by yourself Get Help


Download ppt "Class Student class Student { private: string id; string firstName, lastName; float gpa; public: void Read() void Write() string getGPA() void setGPA("

Similar presentations


Ads by Google