Lecture1 classes1
-
Upload
noor-faezah-mohd-yatim -
Category
Documents
-
view
116 -
download
0
description
Transcript of Lecture1 classes1
+
Lecture 1 – Introduction to C++ Classes (Part 1)TTTK1924 – Program Design and Problem Solving
+Subtopics
Functions Revisited Void Functions Void Function with Reference Parameters Value-returning Functions
Structured Data Types Arrays Revisited
Array and Function Structs Revisited
+Subtopics (cont’d)
Classes Class Definition Using Classes Class Definition Variations Accessor, Mutator and Constant Functions Reference Parameters Constructors Destructors Array of Class Objects
+Part 1 Functions Revisited
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
function prototype
function call
function definition
+Void Functions
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
formal parameters (value)
actual parameters
+Void Functions– Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
noOfLines noOfBlanks
counter
+Void Functions– Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
10
noOfLines noOfBlanks
counter
+Void Functions – Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
10
noOfLines noOfBlanks
10
counter
+Void Functions – Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
10
noOfLines noOfBlanks
10
1
counter
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
10
blanks starsInLine
1
count
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
10
blanks starsInLine
1
11
count
Output:
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
10
blanks starsInLine
1
2
count
Output: *
+Void Functions – Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
10
noOfLines noOfBlanks
9
1
counter
+Void Functions – Example 1#include <iostream>using namespace std;
void printStars(int blanks, int starsInline);
int main (int argc, const char * argv[]){ int noOfLines; int counter; int noOfBlanks; cout << "Enter the number of star lines to be printed: "; cin >> noOfLines; cout << endl; noOfBlanks = noOfLines; for (counter=1; counter <=noOfLines; counter++) { printStars(noOfBlanks, counter); noOfBlanks--; } return 0;}:
10
noOfLines noOfBlanks
9
2
counter
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
9
blanks starsInLine
2
count
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
9
blanks starsInLine
2
10
count
Output: *
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
10
blanks starsInLine
1
3
count
Output: * * *
+
… and so on until….
Void Functions – Example 1
+Void Functions – Example 1
:void printStars(int blanks, int starsInLine) { int count; for (count=1; count <= blanks; count++) cout << ' '; for (count=1; count <=starsInLine; count++) cout << "* "; cout << endl;}
0
blanks starsInLine
10
11
count
printStars(0, 10);
+Void Functions – Example 1
Final Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+Void Functions – Reference Parameters(Example 2)
:void printGrade(int cScore) { cout << "Your grade for the course is "; if (cScore >= 85) cout << "A." << endl; else if (cScore >= 65) cout << "B." << endl; else if (cScore >= 55) cout << "C." << endl; else if (cScore >= 45) cout << "D." << endl; else cout << "F." << endl;}
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
reference parameter
value parameter
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
courseScore
This program determines the grade for a given score
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
score
This program determines the grade for a given score
courseScore
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
score
This program determines the grade for a given scoreEnter score:
courseScore
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
score
This program determines the grade for a given scoreEnter score: 70
70
courseScore
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
This program determines the grade for a given scoreEnter score: 70Score is 70
70
courseScore
+Void Functions – Reference Parameters(Example 2)
#include <iostream>using namespace std;
void getScore(int& score);void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; getScore(courseScore); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
void getScore(int& score) { cout << "Enter score: "; cin >> score;}:
This program determines the grade for a given scoreEnter score: 70Score is 70
70
courseScore
+Void Functions – Reference Parameters(Example 2)
This program determines the grade for a given scoreEnter score: 70Score is 70
70
cScore
:void printGrade(int cScore) { cout << "Your grade for the course is "; if (cScore >= 85) cout << "A." << endl; else if (cScore >= 65) cout << "B." << endl; else if (cScore >= 55) cout << "C." << endl; else if (cScore >= 45) cout << "D." << endl; else cout << "F." << endl;}
+Void Functions – Reference Parameters(Example 2)
This program determines the grade for a given scoreEnter score: 70Score is 70Your grade for the course is
70
cScore
:void printGrade(int cScore) { cout << "Your grade for the course is "; if (cScore >= 85) cout << "A." << endl; else if (cScore >= 65) cout << "B." << endl; else if (cScore >= 55) cout << "C." << endl; else if (cScore >= 45) cout << "D." << endl; else cout << "F." << endl;}
+Void Functions – Reference Parameters(Example 2)
This program determines the grade for a given scoreEnter score: 70Score is 70Your grade for the course is B.
70
cScore
:void printGrade(int cScore) { cout << "Your grade for the course is "; if (cScore >= 85) cout << "A." << endl; else if (cScore >= 65) cout << "B." << endl; else if (cScore >= 55) cout << "C." << endl; else if (cScore >= 45) cout << "D." << endl; else cout << "F." << endl;}
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
:void printGrade(int cScore) { cout << "Your grade for the course is "; if (cScore >= 85) cout << "A." << endl; else if (cScore >= 65) cout << "B." << endl; else if (cScore >= 55) cout << "C." << endl; else if (cScore >= 45) cout << "D." << endl; else cout << "F." << endl;}
function returns an int
statement to return value
captures the value returned
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
courseScore
This program determines the grade for a given score
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
courseScore
This program determines the grade for a given score
score
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
courseScore
67
score
This program determines the grade for a given scoreEnter score: 67
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
67
courseScore
67
score
This program determines the grade for a given scoreEnter score: 67
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
67
courseScore
This program determines the grade for a given scoreEnter score: 67Score is 67
+Value-Returning Functions – Example 3
#include <iostream>using namespace std;
int getScore();void printGrade(int cScore);
int main (int argc, const char * argv[]){ int courseScore; cout << "This program determines the grade for a given score." << endl; courseScore = getScore(); cout << "Score is " << courseScore << endl; printGrade(courseScore); return 0;}
int getScore() { int score; cout << "Enter score: "; cin >> score; return score;}:
67
courseScore
This program determines the grade for a given scoreEnter score: 67Score is 67Your grade for the course is B.
+References:
D.S. Malik (2012). C++ Programming: Program Design Including Data Structures (5th ed), Thomson Course Technology. Chapter 6 – User-Defined Functions I Chapter 7 – User-Defined Functions II