Beruflich Dokumente
Kultur Dokumente
Paradigm
Lecture # 06
Objects with Pointers,
References, and Arrays
Outline
Arrays of Objects
Pointer to Object
Reference to Object
Arrays of Objects
//distance.h
class Distance
{
private:
int feet;
float inches;
public:
Distance(int f=0,float i=0.0):feet(f),inches(i){}
void setFeet(int);
void setInches(float);
int getFeet();
float getInches();
};
4
Arrays of Objects
//distance.cpp
#include<iostream>
using namespace std;
#include"distance.h"
void Distance::setFeet(int f)
{feet=f;}
void Distance::setInches(float i)
{inches=i;}
int Distance::getFeet()
{return feet;}
float Distance::getInches()
{return inches;}
5
dist[i].setFeet(ft);
cin>>in;
Arrays of Objects
//client.cpp
#include"distance.h"
#include<iostream>
using namespace std;
void main(){
Distance dist[10];
int ft,i;
float in;
for(i=0;i<10;i++){
cout<<"enter
distance"<<endl;
cin>>ft;
dist[i].setInches(in)
;
}
for(i=0;i<10;i++){
cout<<dist[i].getFee
t()
<<endl;
cout<<dist[i].getInc
hes() <<endl;
}
}
Memory Management
Example
int arr[10];
brackets
keyword
pointer
11
pp1->print(); // 'print'
message to the object
pointed by pp1
pp2->move(100,150);//
the memory
delete pp2;
}
pointed by pp1
14
Pointers to Objects
void main( ) {
Distance dist1;
dist1.setFeet(10);
dist1.setInches(11.1);
cout<<dist1.getFeet()<<endl;
cout<<dist1.getInches()<<endl;
Pointers to Objects
Pointers to Objects
Reference to Object
Reference to Object
// Using reference parameters
#include <iostream>
using namespace std;
int larger(const int& m, const int& n);
int main() {
int value1 = 10;
int value2 = 20;
cout << endl << larger(value1, value2) << endl;
cout << endl << larger(value1, 15) << endl;
return 0;
}
// Function to the larger of two integers
int larger(const int& m, const int& n)
{
return m > n ? m : n; // Return the larger value
}
19
Reference to Object
20
An Array of Pointers to
Objects