logging in or signing up Structures for cs xi_2011_jan jitensharma111 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 102 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 02, 2011 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript C++ Structures Start thinking about an objects... : Structures 1 C++ Structures Start thinking about an objects... Jitendra Sharma PGT CS, KVCRPF, Yelahanka, Bangalore Structure : Structures 2 Structure A Structure is a container, it can hold a bunch of things. These things can be of any type. Structures are used to organize related data (variables) in to a nice neat package. Transparent Bag (a complete unit) : Structures 3 Transparent Bag (a complete unit) Example - Student Record : Structures 4 Example - Student Record Student Record: Name a string HW Grades an array of 3 doubles Test Grades an array of 2 doubles Final Average a double Structure Members : Structures 5 Structure Members Each thing in a structure is called member. Each member has a name, a type and a value. Names follow the rules for variable names. Types can be any defined type. Example Structure Definition : Structures 6 Example Structure Definition struct StudentRecord { char *name; // student name double hw[3]; // homework grades double test[2]; // test grades double ave; // final average }; The elements of a structure are arranged in the MEMORY in the same order as they are defined in the struct definition. : Structures 7 The elements of a structure are arranged in the MEMORY in the same order as they are defined in the struct definition. Using a struct : Structures 8 Using a struct By defining a structure you create a new data type. Once a struct is defined, you can create variables of the new type. StudentRecord stu; One Object of student Record Accessing Members : Structures 9 Accessing Members You can treat the members of a struct just like variables. You need to use the member access operator '.' (pronounced "dot"): cout << stu.name << endl; stu.hw[2] = 82.3; stu.ave = total/100; Structure Assignment : Structures 10 Structure Assignment You can use structures just like variables: StudentRecord s1,s2; s1.name = "Joe Student"; or Cin>>s1.name; s2 = s1; Copies the entire structure Be Careful : Structures 11 Be Careful If a member is a pointer, copying means copying the pointer (not what is pointed to). name ave test hw "Joe Student" Probably not what you want : Structures 12 Probably not what you want StudentRecord s1,s2; s1.name = "Joe Student"; … s2 = s1; s2.name = "Jane Doe"; // now s1.name and s2.name are both // "Jane Doe" Pointers to Structures : Structures 13 Pointers to Structures Pointers to structures are used often. There is another member access operator used with pointers: -> StudentRecord *sptr; Cin>>sptr->name>>sptr->ave; cout << "Name is" << sptr->name; cout << "Ave is " << sptr->ave; it looks like a "pointer"! Sample Function (won't work!) : Structures 14 Sample Function (won't work!) void update_average( StudentRecord stu) { double tot=0; for (int i=0;i<3;i++) tot + = stu.hw[i]; for (int i=0;i<3;i++) tot + = stu.test[i]; stu.ave = tot/5; } This one works : Structures 15 This one works void update_average( StudentRecord *stu) { double tot=0; for (int i=0;i<3;i++) tot + = stu->hw[i]; for (int i=0;i<3;i++) tot + = stu->test[i]; stu->ave = tot/5; } Or use a reference parameter : Structures 16 Or use a reference parameter void update_average( StudentRecord &stu) { double tot=0; for (int i=0;i<3;i++) tot += stu.hw[i]; for (int i=0;i<3;i++) tot += stu.test[i]; stu.ave = tot/5; } Other stuff you can do with a struct : Structures 17 Other stuff you can do with a struct You can also associate special functions with a structure (called member functions). A C++ class is very similar to a structure, we will focus on classes. Classes can have (data) members Classes can have member functions. Classes can also hide some of the members (functions and data). Quick Example : Structures 18 Quick Example struct StudentRecord { char *name; // student name double hw[3]; // homework grades double test[2]; // test grades double ave; // final average void print_ave() { cout << "Name: " << name << endl; cout << "Average: " << ave << endl; } }; Using the member function : Structures 19 Using the member function doubleStudentRecord stu; … // set values in the structure stu.print_ave(); Next to follow : Structures 20 Next to follow Array of structures You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
Structures for cs xi_2011_jan jitensharma111 Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINT lite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 102 Category: Education License: All Rights Reserved Like it (0) Dislike it (0) Added: January 02, 2011 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript C++ Structures Start thinking about an objects... : Structures 1 C++ Structures Start thinking about an objects... Jitendra Sharma PGT CS, KVCRPF, Yelahanka, Bangalore Structure : Structures 2 Structure A Structure is a container, it can hold a bunch of things. These things can be of any type. Structures are used to organize related data (variables) in to a nice neat package. Transparent Bag (a complete unit) : Structures 3 Transparent Bag (a complete unit) Example - Student Record : Structures 4 Example - Student Record Student Record: Name a string HW Grades an array of 3 doubles Test Grades an array of 2 doubles Final Average a double Structure Members : Structures 5 Structure Members Each thing in a structure is called member. Each member has a name, a type and a value. Names follow the rules for variable names. Types can be any defined type. Example Structure Definition : Structures 6 Example Structure Definition struct StudentRecord { char *name; // student name double hw[3]; // homework grades double test[2]; // test grades double ave; // final average }; The elements of a structure are arranged in the MEMORY in the same order as they are defined in the struct definition. : Structures 7 The elements of a structure are arranged in the MEMORY in the same order as they are defined in the struct definition. Using a struct : Structures 8 Using a struct By defining a structure you create a new data type. Once a struct is defined, you can create variables of the new type. StudentRecord stu; One Object of student Record Accessing Members : Structures 9 Accessing Members You can treat the members of a struct just like variables. You need to use the member access operator '.' (pronounced "dot"): cout << stu.name << endl; stu.hw[2] = 82.3; stu.ave = total/100; Structure Assignment : Structures 10 Structure Assignment You can use structures just like variables: StudentRecord s1,s2; s1.name = "Joe Student"; or Cin>>s1.name; s2 = s1; Copies the entire structure Be Careful : Structures 11 Be Careful If a member is a pointer, copying means copying the pointer (not what is pointed to). name ave test hw "Joe Student" Probably not what you want : Structures 12 Probably not what you want StudentRecord s1,s2; s1.name = "Joe Student"; … s2 = s1; s2.name = "Jane Doe"; // now s1.name and s2.name are both // "Jane Doe" Pointers to Structures : Structures 13 Pointers to Structures Pointers to structures are used often. There is another member access operator used with pointers: -> StudentRecord *sptr; Cin>>sptr->name>>sptr->ave; cout << "Name is" << sptr->name; cout << "Ave is " << sptr->ave; it looks like a "pointer"! Sample Function (won't work!) : Structures 14 Sample Function (won't work!) void update_average( StudentRecord stu) { double tot=0; for (int i=0;i<3;i++) tot + = stu.hw[i]; for (int i=0;i<3;i++) tot + = stu.test[i]; stu.ave = tot/5; } This one works : Structures 15 This one works void update_average( StudentRecord *stu) { double tot=0; for (int i=0;i<3;i++) tot + = stu->hw[i]; for (int i=0;i<3;i++) tot + = stu->test[i]; stu->ave = tot/5; } Or use a reference parameter : Structures 16 Or use a reference parameter void update_average( StudentRecord &stu) { double tot=0; for (int i=0;i<3;i++) tot += stu.hw[i]; for (int i=0;i<3;i++) tot += stu.test[i]; stu.ave = tot/5; } Other stuff you can do with a struct : Structures 17 Other stuff you can do with a struct You can also associate special functions with a structure (called member functions). A C++ class is very similar to a structure, we will focus on classes. Classes can have (data) members Classes can have member functions. Classes can also hide some of the members (functions and data). Quick Example : Structures 18 Quick Example struct StudentRecord { char *name; // student name double hw[3]; // homework grades double test[2]; // test grades double ave; // final average void print_ave() { cout << "Name: " << name << endl; cout << "Average: " << ave << endl; } }; Using the member function : Structures 19 Using the member function doubleStudentRecord stu; … // set values in the structure stu.print_ave(); Next to follow : Structures 20 Next to follow Array of structures