SlideShare a Scribd company logo
1 of 8
Type Conversions
Different situations of data conversion between incompatible types
• 4 types of situation might arise in the data conversion:
– conversion from basic type to basic type
– Conversion from basic type to class type
– Conversion from class type to basic type
– Conversion from class type to class type
Type Conversion 1
basic type to class type
Constructors perform this type of conversions
int main()
{
int duration=85;
time t=duration;
t.display();
return 0;
}
Output:
1 hours 25 minutes
Type Conversion
class time
{
int hrs;
int mins;
public:
time()
{ }
time(int t)
{ hrs=t/60;
mins=t%60;
}
void display()
{cout<<hrs<<" hours";
cout<<mins<<" minutes";
}
};
2
class type to basic type
• constructor does not support this type of conversion
• So c++ allow us to define an overloaded casting operator that could be
used to convert a class type data to basic type.
• It is also known as conversion function
• Overloaded casting operator actually overloads the built in casting
operator.
• The casting operator function should satisfy following conditions
– It must be a class member
– It must not specify return type
– It must not have any arguments
3
Type Conversion
• Here typename is any basic data type.
• This overloaded typecast operator function does not have any return
type(not even void)
• Because the return type is the typename to which, the object is being
converted.
• Moreover it does not take any parameter
4
Type Conversion
• Syntax:-
operator typename()
{
…………
}
Example:
operator double()
{
……..
}
operator int()
{
………..
}
Cont…
class type to basic type
class time
{ int hrs;
int mins;
public:
time(int h,int m)
{hrs=h;
mins=m;
}
void display()
{ cout<<hrs<<" hours";
cout<<mins<<" minutes";
}
operator int()
{
return hrs*60+mins;
}
};
int main()
{
int duration;
time t(3,20);
t.display();
duration=t;
cout<<"duration:"<<duration<<" minutes";
return 0;
}
Output:
3 hours20 minutes
duration:200 minutes
5
Type Conversion
class type to class type
1. Using conversion function in source class
2. Using constructor in destination class
A objA;
B objB;
objA=objB;
6
Type Conversion
Destination
class Source class
class dollar
{
public:
int doll;
dollar(int x)
{
doll=x;
}
void show()
{
cout<<"Money dollars="<<doll<<endl;
}
};
class rupee
{ double rs;
public:
rupee(dollar d)
{
rs=d.doll*71.59;
}
void show()
{
cout<<"money in rupees:"<<rs;
}
};
int main()
{
dollar d1(5);
d1.show();
rupee r1=d1;
r1.show();
return 0;
}
Output:
Money dollars=5
money in rupees:357.95
7
Type Conversion
constructor in destination class
class rupee
{
public:
double rs;
rupee()
{ }
rupee(double rs)
{
this->rs=rs;
}
void show()
{
cout<<"money in rupees="<<rs;
}
};
class dollar
{
public:
int doll;
dollar(int x)
{
doll=x;
}
operator rupee()
{
return rupee(doll*71.59);
}
void show()
{
cout<<"Money in dollars="<<doll<<endl;
}
};
int main()
{
dollar d1(5);
d1.show();
rupee r1=d1;
r1.show();
return 0;
}
Output:
Money in dollars=5
money in rupees=357.95
8
Type Conversion
Using conversion function in source class

More Related Content

Similar to 13.Data Conversion.pptx

OOP-Module-1-Section-4-LectureNo1-5.pptx
OOP-Module-1-Section-4-LectureNo1-5.pptxOOP-Module-1-Section-4-LectureNo1-5.pptx
OOP-Module-1-Section-4-LectureNo1-5.pptx
sarthakgithub
 
Cs1123 4 variables_constants
Cs1123 4 variables_constantsCs1123 4 variables_constants
Cs1123 4 variables_constants
TAlha MAlik
 

Similar to 13.Data Conversion.pptx (20)

CH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptxCH.4FUNCTIONS IN C (1).pptx
CH.4FUNCTIONS IN C (1).pptx
 
19csharp
19csharp19csharp
19csharp
 
19c
19c19c
19c
 
Unit3_OOP-converted.pdf
Unit3_OOP-converted.pdfUnit3_OOP-converted.pdf
Unit3_OOP-converted.pdf
 
TEMPLATES IN JAVA
TEMPLATES IN JAVATEMPLATES IN JAVA
TEMPLATES IN JAVA
 
Lec16-CS110 Computational Engineering
Lec16-CS110 Computational EngineeringLec16-CS110 Computational Engineering
Lec16-CS110 Computational Engineering
 
Operator overloading
Operator overloadingOperator overloading
Operator overloading
 
Operator_Overloaing_Type_Conversion_OOPC(C++)
Operator_Overloaing_Type_Conversion_OOPC(C++)Operator_Overloaing_Type_Conversion_OOPC(C++)
Operator_Overloaing_Type_Conversion_OOPC(C++)
 
Type Casting in C++
Type Casting in C++Type Casting in C++
Type Casting in C++
 
OOP-Module-1-Section-4-LectureNo1-5.pptx
OOP-Module-1-Section-4-LectureNo1-5.pptxOOP-Module-1-Section-4-LectureNo1-5.pptx
OOP-Module-1-Section-4-LectureNo1-5.pptx
 
Chap 5 c++
Chap 5 c++Chap 5 c++
Chap 5 c++
 
Chap 5 c++
Chap 5 c++Chap 5 c++
Chap 5 c++
 
4th unit full
4th unit full4th unit full
4th unit full
 
Review functions
Review functionsReview functions
Review functions
 
Function (rule in programming)
Function (rule in programming)Function (rule in programming)
Function (rule in programming)
 
c++ UNIT II.pptx
c++ UNIT II.pptxc++ UNIT II.pptx
c++ UNIT II.pptx
 
overloading in C++
overloading in C++overloading in C++
overloading in C++
 
C++ Returning Objects
C++ Returning ObjectsC++ Returning Objects
C++ Returning Objects
 
Overloading
OverloadingOverloading
Overloading
 
Cs1123 4 variables_constants
Cs1123 4 variables_constantsCs1123 4 variables_constants
Cs1123 4 variables_constants
 

More from VGaneshKarthikeyan

More from VGaneshKarthikeyan (20)

Unit III Part I_Opertaor_Overloading.pptx
Unit III Part I_Opertaor_Overloading.pptxUnit III Part I_Opertaor_Overloading.pptx
Unit III Part I_Opertaor_Overloading.pptx
 
Linear_discriminat_analysis_in_Machine_Learning.pptx
Linear_discriminat_analysis_in_Machine_Learning.pptxLinear_discriminat_analysis_in_Machine_Learning.pptx
Linear_discriminat_analysis_in_Machine_Learning.pptx
 
K-Mean clustering_Introduction_Applications.pptx
K-Mean clustering_Introduction_Applications.pptxK-Mean clustering_Introduction_Applications.pptx
K-Mean clustering_Introduction_Applications.pptx
 
Numpy_defintion_description_usage_examples.pptx
Numpy_defintion_description_usage_examples.pptxNumpy_defintion_description_usage_examples.pptx
Numpy_defintion_description_usage_examples.pptx
 
Refined_Lecture-14-Linear Algebra-Review.ppt
Refined_Lecture-14-Linear Algebra-Review.pptRefined_Lecture-14-Linear Algebra-Review.ppt
Refined_Lecture-14-Linear Algebra-Review.ppt
 
randomwalks_states_figures_events_happenings.ppt
randomwalks_states_figures_events_happenings.pptrandomwalks_states_figures_events_happenings.ppt
randomwalks_states_figures_events_happenings.ppt
 
stochasticmodellinganditsapplications.ppt
stochasticmodellinganditsapplications.pptstochasticmodellinganditsapplications.ppt
stochasticmodellinganditsapplications.ppt
 
1.10 Tuples_sets_usage_applications_advantages.pptx
1.10 Tuples_sets_usage_applications_advantages.pptx1.10 Tuples_sets_usage_applications_advantages.pptx
1.10 Tuples_sets_usage_applications_advantages.pptx
 
Neural_Networks_scalability_consntency.ppt
Neural_Networks_scalability_consntency.pptNeural_Networks_scalability_consntency.ppt
Neural_Networks_scalability_consntency.ppt
 
Lecture-4-Linear Regression-Gradient Descent Solution.ppt
Lecture-4-Linear Regression-Gradient Descent Solution.pptLecture-4-Linear Regression-Gradient Descent Solution.ppt
Lecture-4-Linear Regression-Gradient Descent Solution.ppt
 
1.3 Basic coding skills_tupels_sets_controlloops.ppt
1.3 Basic coding skills_tupels_sets_controlloops.ppt1.3 Basic coding skills_tupels_sets_controlloops.ppt
1.3 Basic coding skills_tupels_sets_controlloops.ppt
 
Python_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.pptPython_basics_tuples_sets_lists_control_loops.ppt
Python_basics_tuples_sets_lists_control_loops.ppt
 
1.4 Work with data types and variables, numeric data, string data.pptx
1.4 Work with data types and variables, numeric data, string data.pptx1.4 Work with data types and variables, numeric data, string data.pptx
1.4 Work with data types and variables, numeric data, string data.pptx
 
Inheritance_with_its_types_single_multi_hybrid
Inheritance_with_its_types_single_multi_hybridInheritance_with_its_types_single_multi_hybrid
Inheritance_with_its_types_single_multi_hybrid
 
Refined_Lecture-8-Probability Review-2.ppt
Refined_Lecture-8-Probability Review-2.pptRefined_Lecture-8-Probability Review-2.ppt
Refined_Lecture-8-Probability Review-2.ppt
 
Refined_Lecture-13-Maximum Likelihood Estimators-Part-C.ppt
Refined_Lecture-13-Maximum Likelihood Estimators-Part-C.pptRefined_Lecture-13-Maximum Likelihood Estimators-Part-C.ppt
Refined_Lecture-13-Maximum Likelihood Estimators-Part-C.ppt
 
Refined_Lecture-15-Dimensionality Reduction-Uunspervised-PCA.ppt
Refined_Lecture-15-Dimensionality Reduction-Uunspervised-PCA.pptRefined_Lecture-15-Dimensionality Reduction-Uunspervised-PCA.ppt
Refined_Lecture-15-Dimensionality Reduction-Uunspervised-PCA.ppt
 
Bias-Variance_relted_to_ML.pdf
Bias-Variance_relted_to_ML.pdfBias-Variance_relted_to_ML.pdf
Bias-Variance_relted_to_ML.pdf
 
Refined_Lecture-1-Motivation & Applications.ppt
Refined_Lecture-1-Motivation & Applications.pptRefined_Lecture-1-Motivation & Applications.ppt
Refined_Lecture-1-Motivation & Applications.ppt
 
Lecture-4-Linear Regression-Gradient Descent Solution.PPTX
Lecture-4-Linear Regression-Gradient Descent Solution.PPTXLecture-4-Linear Regression-Gradient Descent Solution.PPTX
Lecture-4-Linear Regression-Gradient Descent Solution.PPTX
 

Recently uploaded

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 

13.Data Conversion.pptx

  • 1. Type Conversions Different situations of data conversion between incompatible types • 4 types of situation might arise in the data conversion: – conversion from basic type to basic type – Conversion from basic type to class type – Conversion from class type to basic type – Conversion from class type to class type Type Conversion 1
  • 2. basic type to class type Constructors perform this type of conversions int main() { int duration=85; time t=duration; t.display(); return 0; } Output: 1 hours 25 minutes Type Conversion class time { int hrs; int mins; public: time() { } time(int t) { hrs=t/60; mins=t%60; } void display() {cout<<hrs<<" hours"; cout<<mins<<" minutes"; } }; 2
  • 3. class type to basic type • constructor does not support this type of conversion • So c++ allow us to define an overloaded casting operator that could be used to convert a class type data to basic type. • It is also known as conversion function • Overloaded casting operator actually overloads the built in casting operator. • The casting operator function should satisfy following conditions – It must be a class member – It must not specify return type – It must not have any arguments 3 Type Conversion
  • 4. • Here typename is any basic data type. • This overloaded typecast operator function does not have any return type(not even void) • Because the return type is the typename to which, the object is being converted. • Moreover it does not take any parameter 4 Type Conversion • Syntax:- operator typename() { ………… } Example: operator double() { …….. } operator int() { ……….. } Cont…
  • 5. class type to basic type class time { int hrs; int mins; public: time(int h,int m) {hrs=h; mins=m; } void display() { cout<<hrs<<" hours"; cout<<mins<<" minutes"; } operator int() { return hrs*60+mins; } }; int main() { int duration; time t(3,20); t.display(); duration=t; cout<<"duration:"<<duration<<" minutes"; return 0; } Output: 3 hours20 minutes duration:200 minutes 5 Type Conversion
  • 6. class type to class type 1. Using conversion function in source class 2. Using constructor in destination class A objA; B objB; objA=objB; 6 Type Conversion Destination class Source class
  • 7. class dollar { public: int doll; dollar(int x) { doll=x; } void show() { cout<<"Money dollars="<<doll<<endl; } }; class rupee { double rs; public: rupee(dollar d) { rs=d.doll*71.59; } void show() { cout<<"money in rupees:"<<rs; } }; int main() { dollar d1(5); d1.show(); rupee r1=d1; r1.show(); return 0; } Output: Money dollars=5 money in rupees:357.95 7 Type Conversion constructor in destination class
  • 8. class rupee { public: double rs; rupee() { } rupee(double rs) { this->rs=rs; } void show() { cout<<"money in rupees="<<rs; } }; class dollar { public: int doll; dollar(int x) { doll=x; } operator rupee() { return rupee(doll*71.59); } void show() { cout<<"Money in dollars="<<doll<<endl; } }; int main() { dollar d1(5); d1.show(); rupee r1=d1; r1.show(); return 0; } Output: Money in dollars=5 money in rupees=357.95 8 Type Conversion Using conversion function in source class