class Grade char letter float score void calc
- Slides: 50
class Grade { char letter; float score; void calc. Grade( ); public: void set. Score(float s) { score = s; calc. Grade( ); } float get. Score( ) { return score; } char get. Letter( ) { return letter; } };
// Definition of member function Grade: : calc. Grade void Grade: : calc. Grade( ) { if (score > 89) letter = 'A'; else if (score > 79) letter = 'B'; else if (score > 69) letter = 'C'; else if (score > 59) letter = 'D'; else letter = 'F'; }
class Test : public Grade { int num. Questions; float points. Each; int num. Missed; public: Test( int, int ); };
//参数q 代表问题的个数,m代表答错的题数. Test: : Test(int q, int m) { float numeric. Grade; num. Questions = q; num. Missed = m; points. Each = 100. 0 f / num. Questions; numeric. Grade = 100. 0 f - num. Missed * points. Each ; set. Score(numeric. Grade); } 6
void main( ) { int questions, missed; cout << "How many questions ? "; cin >> questions; cout << "How many questions missed? "; cin >> missed; Test exam(questions, missed); cout. precision(2); cout << "n The score is " << exam. get. Score( ); cout << "n The grade is " << exam. get. Letter( ); } 5 -1. cpp
class Grade { protected: char letter; float score; void calc. Grade( ); public: void set. Score(float s) { score = s; calc. Grade( ); } float get. Score( ) { return score; } char get. Letter( ) { return letter; } };
class Test : public Grade { int num. Questions; float points. Each; int num. Missed; public: Test( int, int ); void adjust. Score( ); // 新增加的函数 };
//构造函数略 void Test: : adjust. Score( ) { if ((score - int(score)) >= 0. 5 f ) { score += 0. 5 ; calc. Grade( ); } } who
Example: private: x protected: y public: z private base class x is inaccessible private: y private: z protected base class x is inaccessible protected: y protected: z public base class x is inaccessible protected: y public: z
class Base. Demo { public: Base. Demo( ) { cout << "In Base. Demo constructor. n"; } ~Base. Demo( ) { cout << "In Base. Demo destructor. n"; } }; class Derived. Demo : public Base. Demo { public: Derived. Demo( ) { cout << "In Derived. Demo constructor. n"; } ~ Derived. Demo( ) { cout << "In Derived. Demo destructor. n"; } };
void main( ) { cout << "下面定义一个 Derived. Demo 类对象 n" ; Derived. Demo object ; cout << "下面将要结束程序 n" ; } 5 -3. cpp
class Rectangle { protected: float width , length, area; public: Rectangle( ) { width = length = area = 0. 0 f ; } Rectangle ( float w, float l ) { width = w; length = l; area = width * length; } float get. Area( ) { return area; } float get. Len( ) { return length; } float get. Width( ){ return width; } };
class Cube : public Rectangle { protected: float height, volume; public: Cube(float, float); float get. Height ( ) { return height; } float get. Vol( ) { return volume; } }; Cube: : Cube(float w, float l, float h) : Rectangle(w, l) { height = h ; volume = area * height ; } 5 -4. cpp
class Mile. Dist { protected: float miles; public: void set. Dist( float d ) { miles = d; } float get. Dist( ) { return miles; } }; class Feet. Dist : public Mile. Dist { protected: float feet; public: void set. Dist(float); float get. Dist( ) { return feet; } float get. Miles( ) { return miles; } };
void Feet. Dist: : set. Dist(float ft) { feet = ft; Mile. Dist: : set. Dist(feet/5280); //Call base class function } void main( ) { Feet. Dist feet; float ft; cout << "A distance in feet and convert it to miles: "; cin >> ft; 哪一个 feet. set. Dist(ft); ? cout << feet. get. Dist( ) << " feet equals "; cout << feet. get. Miles( ) << " miles. n"; } 5 -5. cpp
class Mile. Dist { protected: float miles; public: void set. Dist(float d){ miles = d; } float get. Dist( ) { return miles; } float square( ) { return get. Dist( ) * get. Dist( ); } }; who
class Feet. Dist : public Mile. Dist { protected: float feet; public: void set. Dist( float ); float get. Dist( ) { return feet; } float get. Miles( ) { return miles; } }; void Feet. Dist: : set. Dist(float ft ) { feet = ft; Mile. Dist: : set. Dist(feet / 5280); }
void main( ) { Feet. Dist feet; float ft; cout << "请输入以英尺为单位的距离:" ; cin >> ft ; feet. set. Dist( ft ) ; cout << feet. get. Dist( ) << " 英尺等于 " ; cout << feet. get. Miles( ) << " 英里n" ; cout << feet. get. Dist( ) << "英尺的平方等于 " ; cout << feet. square( ) << "平方英尺n" ; } 5 -7. cpp
class Student // 例 5 -9 { protected: char name[51]; int hours; public: Student( ){ name[0] = hours = 0; } void set. Name(char *n) { strcpy(name, n); } // Pure virtual function virtual void set. Hours( ) = 0; virtual void show. Info( ) = 0; };
class Cs. Student : public Student { int math. Hours , cs. Hours; public: void set. Math. Hours(int mh){ math. Hours = mh; } void set. Cs. Hours(int csh){ cs. Hours = csh; } void set. Hours( ) { hours = math. Hours + cs. Hours; } void show. Info( ); };
void Cs. Student: : show. Info( ) { cout << " Name: " << name << endl; cout << "t Math: " << math. Hours << endl; cout << "t CS : " << cs. Hours; cout << "nt Total Hours: " << hours; } void main( ) { Cs. Student student 1; char ch. Input[51]; int. Input;
cout << "Enter the following information: n"; cout << "Name: "; cin. getline(ch. Input, 51); student 1. set. Name(ch. Input); cout << "Number of math hours completed: "; cin >> int. Input; student 1. set. Math. Hours( int. Input ); cout << "Number of CS hours completed: "; cin >> int. Input; student 1. set. Cs. Hours(int. Input); student 1. set. Hours( ); cout << "n. STUDENT INFORMATIONn"; student 1. show. Info( ); } 5 -9. cpp
class Base { public: void show( ){ cout << "In Base class. n"; } }; class Derived : public Base { public: void show( ){ cout << "In Derived class. n"; } }; void main( ) { Base Derived *bptr; dobject; bptr = &dobject; bptr->show( ); } 1. 调用谁? 2. 什么原因? 3. 如何解决? 4. 引用调用呢? 5 -10. cpp
5. 7 多重继承 class A Class C inherits all of Class B's class B class C members, including the ones Class B inherited from Class A. 43
5. 8 多继承 • 如果一个子类具有两个或多个直接父类,那么就 称为多继承。 class A class B class C Constructors are called in the order they are listed in the first line of the class declaration. 44
class Date // 例 5 -12 { protected: int day , month , year; public: Date(int d, int m, int y) { day = d; month = m; year = y; } int int }; get. Day( ) { return day; } get. Month( ) { return month; } get. Year( ) { return year; }
class Time { protected: int hour , min , sec; public: Time(int h, int m, int s) { hour = h; min = m; sec = s; } int get. Hour( ){ return hour; } int get. Min( ) { return min; } int get. Sec( ) { return sec; } };
class Date. Time : public Date, public Time { protected: 这个顺序很重要 char d. TString[20]; public: Date. Time( int, int, int); void get. Date. Time( char *str) { strcpy(str, d. TString); } };
Date. Time: : Date. Time(int yr, int mon, int dy, int hr, int mt, int sc) : Time(hr, mt, sc), Date(dy, mon, yr) { char temp[10]; // In the form YY/MM/DD strcpy(d. TString, itoa(get. Year( ), temp, 10)); strcat(d. TString, "/"); strcat(d. TString, itoa(get. Month( ), temp, 10)); strcat(d. TString, "/"); strcat(d. TString, itoa(get. Day( ), temp, 10)); strcat(d. TString, " "); strcat(d. TString, itoa(get. Hour( ), temp, 10)); strcat(d. TString, ": "); strcat(d. TString, itoa(get. Min( ), temp, 10)); strcat(d. TString, ": "); strcat(d. TString, itoa(get. Sec( ), temp, 10)); }
void main( ) { char formatted[20]; Date. Time past. Day(28, 7, 2010, 11, 32, 27) ; past. Day. get. Date. Time( formatted ); cout << formatted << endl; } 5 -12. cpp
#include <ctime> #include <iostream> using namespace std; void main( ) { char tmpbuf[128]; 获取系统时间 // Display operating system-style date and time _strtime( tmpbuf ); cout<< "time: t"<<tmpbuf<<endl ; _strdate( tmpbuf ); cout<< "date: t"<<tmpbuf<<endl ; } 5 -a. cpp
- Total float vs free float
- Negative float in project management
- How to calculate slack in project management
- Scanf float
- Int char float
- Int long double
- Short 형
- Int (*)(bool, char)
- Const name void
- Const char * vs char * const
- Int ival char cval
- Int (*)(bool, char)
- Void setup e void loop
- Void main(void)
- Void main(void)
- Root grass and sky letters
- Class a void foo() throws exception
- Class a void foo() throws exception
- Class operators public static void main
- Public static void main(string args)
- Public class test java
- Public class x public static void main
- Public class x public static void main
- Public class x public static void main
- Public abstract class fish private void swim
- Public class test public static void main(string args)
- What is iscd
- T score versus z score
- Calc institute of technology
- Define formal charge
- How to determine reference angles
- Simplify radicals calc
- Parent functions calculus
- Pg calc
- How to find percentage decrease
- Vectors pre calc
- Calculus proof
- Drops per minute
- Calctool
- Medication calculations formula
- Formal charge calculation
- Dafny calc
- Winters.formula
- Rolles theorem
- Tc-prisma
- Box plot calculator
- Epbb calculator
- Epics calc record
- Ap calc ab chapter 5
- Renova calc
- How to find if two lines are perpendicular