中国高校课件下载中心 》 教学资源 》 大学文库

《C++面向对象程序设计》课程教学资源(PPT课件)Chapter 6 Structures and Classes

文档信息
资源类别:文库
文档格式:PPT
文档页数:39
文件大小:923.5KB
团购合买:点击进入团购
内容简介
《C++面向对象程序设计》课程教学资源(PPT课件)Chapter 6 Structures and Classes
刷新页面文档预览

Chapter 6 ABSOLUTE C++ Structures and Classes WALTER SAVITCH SECOND EDITION PEARSON Copyright2006 Pearson Addison-Wesley All rights reserved

Chapter 6 Structures and Classes

Learning Objectives ◆Structures ◆Structure types Structures as function arguments Initializing structures ◆Classes Defining,member functions Public and private members Accessor and mutator functions Structures vs.classes Copyright006 Pearson Addison-Wesley.All rights reserved. 6-2

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-2 Learning Objectives ¨ Structures ¨ Structure types ¨ Structures as function arguments ¨ Initializing structures ¨ Classes ¨ Defining, member functions ¨ Public and private members ¨ Accessor and mutator functions ¨ Structures vs. classes

Structures 2nd aggregate data type:struct Recall:aggregate meaning "grouping" Recall array:collection of values of same type Structure:collection of values of different types Treated as a single item,like arrays Major difference:Must first "define"struct Prior to declaring any variables Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-3

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-3 Structures ¨ 2nd aggregate data type: struct ¨ Recall: aggregate meaning "grouping" ¨ Recall array: collection of values of same type ¨ Structure: collection of values of different types ¨ Treated as a single item, like arrays ¨ Major difference: Must first "define" struct ¨ Prior to declaring any variables

Structure Types ◆Define struct globally(typically) No memory is allocated Just a "placeholder"for what our struct will "look like" ◆Definition: struct CDAccountV1 Name of new struct "type" double balance;member names double interestRate; int term; }; Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-4

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-4 Structure Types ¨ Define struct globally (typically) ¨ No memory is allocated ¨ Just a "placeholder" for what our struct will "look like" ¨ Definition: struct CDAccountV1 Name of new struct "type" { double balance;  member names double interestRate; int term; };

Declare Structure Variable With structure type defined,now declare variables of this new type: CDAccountV1 account; Just like declaring simple types Variable account now of type CDAccount 1 It contains "member values" Each of the struct "parts" Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-5

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-5 Declare Structure Variable ¨ With structure type defined, now declare variables of this new type: CDAccountV1 account; ¨Just like declaring simple types ¨Variable account now of type CDAccountV1 ¨It contains "member values" ¨Each of the struct "parts

Accessing Structure Members Dot Operator to access members ◆account.balance account.interestRate ◆account.term Called "member variables" The "parts"of the structure variable Different structs can have same name member variables ◆No conflicts Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-6

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-6 Accessing Structure Members ¨ Dot Operator to access members ¨ account.balance ¨ account.interestRate ¨ account.term ¨ Called "member variables" ¨ The "parts" of the structure variable ¨ Different structs can have same name member variables ¨ No conflicts

Structure Example: Display 6.1 A Structure Definition (1 of 3) Display 6.1 A Structure Definition 1 //Program to demonstrate the CDAccountV1 structure type. 2 #include 3 using namespace std; 4 //Structure for a bank certificate of deposit: An improved version of this struct CDAccountV1 6 structure will be given later in this > double balance; chapter. e double interestRate; 9 int term;//months until maturity 10 11 void getData(CDAccountV1&theAccount); 1 //Postcondition:theAccount.balance,theAccount.interestRate,and 3 //theAccount.term have been given values that the user entered at the keyboar Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-7

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-7 Structure Example: Display 6.1 A Structure Definition (1 of 3)

Structure Example: Display 6.1 A Structure Definition(2 of 3) 14 int main() 15 16 CDAccountV1 account; 17 getData(account); 18 double rateFraction,interest; 19 rateFraction account.interestRate/100.0; 20 interest account.balance*(rateFraction*(account.term/12.0)); 21 account.balance account.balance interest; 22 cout.setf(ios:fixed); 23 cout.setf(ios:showpoint); 24 cout.precision(2); 25 cout <<"When your CD matures in 26 <account.term <<months,\n" 7 <<"it will have a balance of $ 28 <account.balance <endl; 29 return 0; 30} (continued) Copyright006 Pearson Addison-Wesley.All rights reserved. 6-8

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-8 Structure Example: Display 6.1 A Structure Definition (2 of 3)

Structure Example: Display 6.1 A Structure Definition(3 of 3) Display 6.1 A Structure Definition 31 //Uses iostream: 32 void getData(CDAccountV1&theAccount) 33 34 cout theAccount.balance; 36 cout theAccount.interestRate; 38 cout theAccount.term; 40 3 SAMPLE DIALOGUE Enter account balance:$100.00 Enter account interest rate:10.0 Enter the number of months until maturity:6 When your CD matures in 6 months, it will have a balance of $105.00 Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-9

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-9 Structure Example: Display 6.1 A Structure Definition (3 of 3)

Structure Pitfall Semicolon after structure definition ◆;MUST exist: struct WeatherData double temperature; double windVelocity; };←REQUIRED semicolon! Required since you "can"declare structure variables in this location Copyright 2006 Pearson Addison-Wesley.All rights reserved. 6-10

Copyright © 2006 Pearson Addison-Wesley. All rights reserved. 6-10 Structure Pitfall ¨ Semicolon after structure definition ¨; MUST exist: struct WeatherData { double temperature; double windVelocity; };  REQUIRED semicolon! ¨Required since you "can" declare structure variables in this location

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档