C++ is an object oriented programming language. C++ is an extension of C with a major addition of...
-
Upload
roberta-peters -
Category
Documents
-
view
221 -
download
0
Transcript of C++ is an object oriented programming language. C++ is an extension of C with a major addition of...
![Page 1: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/1.jpg)
![Page 2: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/2.jpg)
C++ is an object oriented programming language.
C++ is an extension of C with a major addition of the class construct feature.
C++ is superset of C. Features like classes, inheritance, function
overloading, and operator overloading make C++ a truly object-oriented language.
OO features in C++ allow programmers to build large programs with clarity, extensibility and ease of maintenance, incorporating the spirit and efficiency of C.
![Page 3: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/3.jpg)
/* Simple hello world program*/# include <iostream>// This is include directiveusing namespace std;int main(){cout << “Hello World!”; //C++ statementreturn 0;
}
![Page 4: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/4.jpg)
Average of numbers.◦ It will take two numbers from the console and
print the average of the two numbers.
![Page 5: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/5.jpg)
Keywords Identifiers Constants Strings Operators
![Page 6: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/6.jpg)
Keywords Identifiers Constants Strings Operators
![Page 7: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/7.jpg)
Some words are reserved for implementing the specific C++ language features.
asm, auto, bool, break, case, catch, char, class, const, const_cast, continue, default, delete, do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while
![Page 8: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/8.jpg)
Keywords Identifiers Constants Strings Operators
![Page 9: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/9.jpg)
Identifiers refer to the names of variables, functions, arrays, classes , etc. created by the programmer.
Rules for creating it.◦ Only alphabet characters, digits and underscore
are permitted.◦ The name cannot start with digit.◦ Uppercase and lowercase letters are distinct.◦ A declared keyword cannot be used as a variable.
![Page 10: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/10.jpg)
![Page 11: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/11.jpg)
Type Bytes Range
char 1 -128 to 127signed: -128 to 127unsigned: 0 to 255
short int 2 -31768 to 32767signed: -32768 to 32767unsigned: 0 to 65535
int 2 -32768 to 32767signed: -31768 to 32767unsigned: 0 to 65535
long int 4 -2147483648 to 2147483647signed: -2147483648 to 2147483647unsigned: 0 to 4294967295
float 4 3.4E-38 to 3.4E+38
double 8 1.7E-308 to 1.7E+308
long double 10 3.4E-4932 to 1.1E+4932
![Page 12: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/12.jpg)
This program will take different values from console and perform various mathematical operation on these values and print the result to the console.
![Page 13: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/13.jpg)
Structures and Classes◦ Basis for OOP.◦ Classes enable to combine data and procedures.
Enumerated Data Type◦ It provides a way to attaching names to the
numbers◦ Increase comprehensibility of the code.◦ Alternative mean for creating symbolic constants◦ Enumerates a list of words by assigning them
values 0,1,2 and so on.enum shape {circle, square, triangle};enum colour {red, blue=4, green=8};
![Page 14: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/14.jpg)
Arrays◦ Values of similar type stored in continuous
memory locations.◦ int a[10]; char string[3]=“xyz”;
Functions◦ Set of statements to perform specific tasks
Pointers◦ Special variables to store the memory location of
other variables.◦ Used in referencing memory.◦ Concept of constant pointer introduced in c++.
![Page 15: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/15.jpg)
Keywords Identifiers Constants Strings Operators
![Page 16: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/16.jpg)
Refer to fixed values that do not change in thw execution of the program.◦ 123 //decimal integer◦ 12.34 //floating point integer◦ 037 //octal integer◦ 0x2 //Hexa decimal◦ “C++” //string constant◦ ‘A’ //character constant◦ L’ab’ //wide-character constant
![Page 17: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/17.jpg)
Using the qualifier const◦ const float pi = 3.14;
Using enum◦ enum{x,y,z};◦ enum{x=200,y=300,z=400};◦ enum{off,on};
![Page 18: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/18.jpg)
Keywords Identifiers Constants Strings Operators
![Page 19: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/19.jpg)
Variables that can store non-numerical values that are longer than one single character are known as strings.
The C++ language library provides support for strings through the standard string class.
// my first string#include <iostream>#include <string>using namespace std;int main (){string mystring = "This is a string";cout << mystring;return 0;}
![Page 20: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/20.jpg)
Keywords Identifiers Constants Strings Operators
![Page 21: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/21.jpg)
> greater than 5 > 4 is TRUE < less than 4 < 5 is TRUE >= greater than or equal 4 >= 4 is
TRUE <= less than or equal 3 <= 4 is TRUE == equal to 5 == 5 is TRUE != not equal to 5 != 4 is TRUE
![Page 22: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/22.jpg)
Basic If Statement Syntax
The structure of an if statement is as follows: if ( TRUE ) Execute the next statement Here is a simple example that shows the
syntax: if ( 5 < 10 ) cout<<"Five is now less than ten, that's a
big surprise";
![Page 23: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/23.jpg)
Sometimes when the condition in an if statement evaluates to false, it would be nice to execute some code instead of the code executed when the statement evaluates to true. The "else" statement effectively says that whatever code after it (whether a single line or code between brackets) is executed if the if statement is FALSE.
It can look like this:if ( TRUE ) { // Execute these statements if TRUE}else { // Execute these statements if FALSE}
![Page 24: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/24.jpg)
#include <iostream>
using namespace std;
int main() // Most important part of the program!{ int age; // Need a variable... cout<<"Please input your age: "; // Asks for age cin>> age; // The input is put in age cin.ignore(); // Throw away enter if ( age < 100 ) { // If the age is less than 100 cout<<"You are pretty young!\n"; // Just to show you it works... } else if ( age == 100 ) { // I use else just to show an example cout<<"You are old\n"; // Just to show you it works... } else { cout<<"You are really old\n"; // Executed if no other statement is } cin.get(); // equal return 0;}
![Page 25: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/25.jpg)
Another use of else is when there are multiple conditional statements that may all evaluate to true, yet you want only one if statement's body to execute. You can use an "else if" statement following an if statement and its body; that way, if the first statement is true, the "else if" will be ignored, but if the if statement is false, it will then check the condition for the else if statement. If the if statement was true the else statement will not be checked. It is possible to use numerous else if statements to ensure that only one block of code is executed.
if ( <condition> ) { // Execute these statements if <condition> is TRUE}else if ( <another condition> ) { // Execute these statements if <another condition> is TRUE and // <condition> is FALSE}
![Page 26: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/26.jpg)
#include <iostream>
using namespace std; // So we can see cout and endl
int main(){ int x = 0; // Don't forget to declare variables while ( x < 10 ) { // While x is less than 10 cout<< x <<endl; x++; // Update x so the condition can be met
eventually } system ("pause"); cin.get();}
![Page 27: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/27.jpg)
DO..WHILE - DO..WHILE loops are useful for things that want to loop at least once.
The structure isdo { } while ( condition );
![Page 28: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/28.jpg)
#include <iostream>
using namespace std;
int main(){ int x;
x = 0; do { // "Hello, world!" is printed at least one time // even though the condition is false cout<<"Hello, world!\n"; } while ( x != 0 ); cin.get(); }
![Page 29: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/29.jpg)
![Page 30: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/30.jpg)
Constant expressions Integral expressions Float expressions Pointer expressions Relational expressions Logical expressions Bitwise expressions
![Page 31: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/31.jpg)
The if statement
Simple if statement if…..else statement
if(expression){
statement 1;}statement 2;statement 3;
if(expression){
statement 1;}else{ statement 2;}statement 3;
![Page 32: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/32.jpg)
The switch statement
switch(expression){
case 1:statement1;
break|continue;case 2:statement2;
continue|break; . . .
default:statement3;
}statement4;
![Page 33: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/33.jpg)
![Page 34: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/34.jpg)
The do-while statement
do{ statement1;}while(condition);statement2;
![Page 35: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/35.jpg)
The while statement
while(condition){ statement1;}statement2;
![Page 36: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/36.jpg)
The for statement
for (intialization;condition;increment){ statement1;}statement2;
![Page 37: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/37.jpg)
![Page 38: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/38.jpg)
A piece of code that perform specific task. Introduces modularity in the code. Reduces the size of program. C++ has added many new features to the
functions to make them more reliable and flexible.
It can be overloaded.
![Page 39: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/39.jpg)
Function declaration◦ return-type function-name (argument-list);◦void show();◦float volume(int x,float y,float z);
Function definitionreturn-type function-name(argument-list){statement1;statement2;
} Function call
◦ function-name(argument-list);◦ volume(a,b,c);
![Page 40: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/40.jpg)
The main function Returns a value of type int to the operating
system.
int main(){………………return(0);}
![Page 41: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/41.jpg)
This program will take the values of length, breadth and height and prints the volume of the cube. It uses the function to calculate it.
![Page 42: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/42.jpg)
Parameter Passing◦ Pass by value◦ Pass by reference
Reference variable Pointersvoid swap (int &a, int &b){ int t=a; a=b; b=t;}
void swap(int *a, int *b){ int t; t=*a; *a=*b; *b=t;}
swap(m,n); swap(&m,&n);
![Page 43: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/43.jpg)
Parameter passing◦ Return by reference
int & max (int &x, int &x){ if(x>y) return x; else return y;}
max(a,b)=-1;
![Page 44: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/44.jpg)
C++ allows to use the same function name to create functions that perform a variety of different tasks.
This is know as function polymorphism in OOP.
int add (int a, int b); //prototype 1int add (int a, int b, int c); //prototype 2double add (double x, double y);//prototype 3double add (int p, double q);//prototype 4double add (double p, int q); //prototype 5
add(5,10);//uses prototype 1add(15,10.0);//uses prototype 4add(12.5,7.5); //uses prototype 3add(5,10,15); //uses prototype 2add(0.75,5); //uses prototype5
![Page 45: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/45.jpg)
Structures Revisited◦ Makes convenient to handle a group of logically
related data items.struct student //declaration{ char name[20]; int roll_number; float total_marks;};struct student A;// C declarationstudent A; //C++ declarationA.roll_number=999;A.total_marks=595.5;Final_Total=A.total_marks + 5;
![Page 46: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/46.jpg)
Limitations◦ C doesn’t allow it to be treated like built-in data
types.struct complex{float x; float y;};struct complex c1,c2,c3;c3=c1+c2;//Illegal in C◦ They do not permit data hiding.
![Page 47: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/47.jpg)
Can hold variables and functions as members.
Can also declare some of its members as ‘private’.
C++ introduces another user-defined type known as ‘class’ to incorporate all these extensions.
![Page 48: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/48.jpg)
Class is a way to bind the data and procedures that operates on data.
Class declaration:class class_name{
private:variable declarations;//classfunction declarations;//members
public:variable declarations;//classfunction declarations;//members
};//Terminates with a semicolon
![Page 49: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/49.jpg)
Class members that have been declared as private can be accessed only from within the class.
Public class members can be accessed from outside the class also.
Supports data-hiding and data encapsulation features of OOP.
![Page 50: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/50.jpg)
Objects are run time instance of a class. Class is a representation of the object, and
Object is the actual run time entity which holds data and function that has been defined in the class.
Object declaration:class_name obj1;class_name obj2,obj3;class class_name{……}obj1,obj2,obj3;
![Page 51: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/51.jpg)
Accessing class members◦ Object-name.function-name(actual-arguments);◦ obj1.setdata(100,34.4);
Defining Member Functions◦ Outside the class definition.return-type class-name::function-name (argument declaration)
{Function body;
}◦ Inside the class definition.Same as normal function declaration.
![Page 52: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/52.jpg)
![Page 53: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/53.jpg)
Object as arraysclass employee{char name [30];float age;public:void getdata(void);void putdata(void);
};
employee manager[3];//array of manageremployee worker[75];//array of worker
Manager[i].putdata();
![Page 54: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/54.jpg)
This program will create an array, takes the values for each of the element and displays it.
![Page 55: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/55.jpg)
An object may be used as a function arguments.
![Page 56: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/56.jpg)
This program creates a ‘time’ class in hour and minute format. There is a function called ‘sum’ performs the addition of time of two object and assign it to the object that has called the function.
![Page 57: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/57.jpg)
Friend function are used in the situation where two classes want to share a common function.
Scientist and manager classes want to share the function incometax().
C++ allows the common function to be made friendly with both the classes, thereby allowing the access to the private data of these classes. This function need not to be the member function of any of these classes.
![Page 58: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/58.jpg)
It is not in the scope of the class, hence it cannot be called using the object of any class. It can be invoked normally.
It cannot access member names directly, but with the help of an object. Eg obj1.x
It can be declare either in the public or the private part of a class without affecting its meaning.
Usually, it has the objects as arguments.
![Page 59: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/59.jpg)
This program declares a function ‘max’ as friend to two classes and demonstrate how to use them.
![Page 60: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/60.jpg)
In order to behave like built-in data types, the derived-data types such as ‘objects’ should automatically initialize when created and destroys when goes out of scope.
For this reason C++ introduces a special member functions called constructor and destructor to automatically initialize and destroy the objects.
![Page 61: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/61.jpg)
Name is same as that of class. Invoked when ever an object of its
associated class is created.
class integer{
int m,n;public:integer(void);….….
};integer :: integer(void){ m=0;n=0;}
![Page 62: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/62.jpg)
Declared in the public section. Invoked automatically when the objects are
created. Do not have return type. Cannot be inherited. Though a derived class can
call the base class constructor. Can have default arguments. Cannot be virtual. We cannot refer to their addresses. An object with a constructor (or destructor)
cannot be used as a member of a union. They make ‘implicit calls’ to the operators ‘new’
and ‘delete’ when memory allocation is required.
![Page 63: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/63.jpg)
Parameterized Constructors
class integer{
int m,n;public:integer(int x, int y);….….
};integer :: integer(int x,int y){ m=x;n=y;}
integer num1 = integer(0,100);//explicit callint num1(0,100);//implicit call
![Page 64: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/64.jpg)
Multiple Constructors
class integer{
int m,n;public:integer(void);
integer(int x, int y);….….
};integer :: integer(void){ m=0;n=0;}integer :: integer(int x,int y){ m=x;n=y;}
![Page 65: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/65.jpg)
Program demonstrate the use of constructors.
![Page 66: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/66.jpg)
Dynamic initialization of Objectscin>> real>>imag;Obj1=complex(real,imag);
Copy Constructor.class integer{
int m,n;public:integer(integer &i){m=i.m;n=i.n;};….
};
integer num1(num2);
![Page 67: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/67.jpg)
Is used to destroy the objects that have been created.~complex(){}
Never takes any arguments nor does return any value.
![Page 68: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/68.jpg)
![Page 69: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/69.jpg)
C++ tries to make the user-defined data types behave in much the same way as the built-in data types.
In built-in data types we have:◦ c=a+b//a,b and c are of type ‘int’.
We can also have in C++:◦ object1=object2+object3;
C++ has the ability to provide the operators with a special meaning for a data type. This mechanism is known as operator overloading.
![Page 70: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/70.jpg)
return-type class-name::operator op (arglist)
Operator functions must be either member functions or friend functions.◦ vector operator+(vector);◦ vector operator-();◦ friend vector operator+(vector,vector);◦ friend vector operator-(vector);◦ int operator==(vector);◦ friend int operator==(vector,vector);
![Page 71: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/71.jpg)
![Page 72: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/72.jpg)
![Page 73: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/73.jpg)
friend void operator-(space &s);
void operator-(space &s){ s.x=-s.x; s.y=-s.y;s.x=-s.z;
}
![Page 74: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/74.jpg)
a, b and c are objects of class ‘complex’ c=a.sum(b);//functional notation, function ‘sum’ is member function.
c=sum(a,b);//functional notation, function ‘sum’ is friend function.
c=a+b; // arithmetic notation, can be defined in both the ways (member function and friend function).
![Page 75: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/75.jpg)
Using member functionscomplex complex::operator+(complex c){ complex temp; temp.x=x+c.x; temp.y=y+c.y; return(temp);}
![Page 76: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/76.jpg)
Using friend function.friend complex operator+(complex, complex); //declaration
complex operator+(complex a, complex b){return complex ((a.x+b.x),(a.y+b.y));}//defination
![Page 77: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/77.jpg)
C++ strongly support the concept of reusability.
C++ classes can be reused in several ways. Creating new classes by reusing the
properties of existing once. The reuse of a class that has already been
tested, debugged and used many times can save us the effort of developing and testing the same again.
Mechanism is Inheritance. Base class ---Derived class
![Page 78: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/78.jpg)
![Page 79: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/79.jpg)
class derived-class-name : visibility-mode base-class-name
{………};
Visibility mode is optional.(by default: private)
Visibility mode specifies whether the features of the base class are privately derived or publicly derived.
![Page 80: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/80.jpg)
![Page 81: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/81.jpg)
![Page 82: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/82.jpg)
![Page 83: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/83.jpg)
d.get_ab();d.get_a();d.show();Will not work.void mul() void display(){ { get_ab(); show_a(); c=b*get_a(); cout<<“b=“<<b<<“\n”} <<“c=”<<“\n\n”;
}
![Page 84: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/84.jpg)
Inside the class.class alpha{private://optional…………//visible inside this class onlyprotected://visible inside this class …………//and its immediate derived class
public://visible to all …………};
![Page 85: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/85.jpg)
![Page 86: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/86.jpg)
Multilevel Inheritanceclass A{…};Class B : public A{…};Class C : public B{…}; Multiple Inheritanceclass P : public M, public N{…};
![Page 87: C++ is an object oriented programming language. C++ is an extension of C with a major addition of the class construct feature. C++ is superset of.](https://reader030.fdocuments.us/reader030/viewer/2022012914/56649ebf5503460f94bc9f8c/html5/thumbnails/87.jpg)