***Header Files:
Point.h
#pragma once
#include <iostream>
using namespace std;
class Point
{
private:
int x;
int y;
public:
Point(void);
Point( int x, int y );
Point( const Point &xPoint );
~Point(void);
void setX( int x );
int getX() const;
void setY( int y );
int getY() const;
Point & operator = ( const Point &xPoint );
bool includes( int cord_X, int cord_Y ) const;
void draw() const;
};
PointCollection.h
#pragma once
#include "Point.h"
const int MAX = 100;
class PointCollection
{
private:
Point pts[ MAX ];
int quantity;
public:
PointCollection( void );
PointCollection( const PointCollection &xPointCollection );
~PointCollection( void );
// To know how many Points are
// ..in the collection
int size() const;
PointCollection operator = ( const PointCollection &xPointCollection );
Point &operator[]( int index );
const Point &operator[]( int index ) const;
bool isFull() const;
bool isEmpty() const;
bool includes( const Point &xPoint ) const;
int indexOf( const Point &xPoint ) const;
};
////////////////////////////////////////////////////////////////////////
***Source Files:
Point.cpp
#include "Point.h"
Point::Point( void )
{
this->x = 0;
this->y = 0;
}
Point::Point( int x, int y )
{
this->x = x;
this->y = y;
}
Point::Point( const Point &xPoint )
{
this->x = xPoint.x;
this->y = xPoint.x;
}
Point::~Point( void ){} // Destructor
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
void Point::setX( int x ) // set X
{
this->x = x;
}
void Point::setY( int y ) // set Y
{
this->y = y;
}
int Point::getX() const // get X
{
return ( this->x );
}
int Point::getY() const // get Y
{
return ( this->y );
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Point &Point::operator = ( const Point &xPoint )
{
this->x = xPoint.x;
this->y = xPoint.y;
return ( *this );
}
bool Point::includes( int cord_X, int cord_Y ) const
{
return ( this->x == cord_X && this->y == cord_Y );
}
void Point::draw() const
{
cout << '.';
}
PointCollection.cpp
#include "PointCollection.h"
PointCollection::PointCollection( void )
{
this->quantity = 0;
}
PointCollection::PointCollection( const PointCollection &xPointCollection )
{
this->quantity = xPointCollection.quantity;
for ( int i = 0; i < this->quantity; i++ )
( this->pts )[ i ] = ( xPointCollection.pts )[ i ];
}
PointCollection::~PointCollection( void ) {}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
int PointCollection::size() const
{
return ( this->quantity );
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Point &PointCollection::operator []( int index )
{
return ( ( this->pts )[ index ] );
}
const Point &PointCollection::operator []( int index ) const
{
return ( ( this->pts )[ index ] );
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
PointCollection PointCollection::operator =( const PointCollection &xPointCollection )
{
this->quantity = xPointCollection.quantity;
for ( int i = 0; i < this->quantity; i++ )
( this->pts )[ i ] = ( xPointCollection.pts )[ i ];
return ( *this );
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bool PointCollection::isFull() const
{
return ( this->quantity == MAX );
}
bool PointCollection::isEmpty() const
{
return ( this->quantity == 0 );
}
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
bool Point::includes( const Point &xPoint ) const
{
bool thisOne = false;
for ( int i = 0; i < this->quantity && ! thisOne; i++ )
{
if ( ( *this )[ i ] == xPoint )
thisOne = true;
}
return ( thisOne );
}
int PointCollection::indexOf( const Point &xPoint ) const
{
int index = -1;
for ( int i = 0; i < this->quantity && index == -1; i++ )
{
if ( ( *this )[ i ] == xPoint )
index = i;
}
return ( index );
}
Main.cpp
#include "PointCollection.h"
int main ()
{
Point p1( 1, 1 ), p2( p1 );
p1.draw();
cout << "\n\n";
if ( p1.includes( 1, 1 ) == true )
cout << "Point 1 & 2 are Equal" << "\n\n";
else
cout << "Point 1 & 2 are NOT Equal" << "\n\n";
system("PAUSE");
return 0;
} // end main
This is the Error I'm Getting:
------ Build started: Project: Project_Dibujo, Configuration: Debug Win32 ------
Compiling...
Point.cpp
PointCollection.cpp
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(85) : error C2511: 'bool Point::includes(const Point &) const' : overloaded member function not found in 'Point'
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\point.h(7) : see declaration of 'Point'
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(103) : error C2784: 'bool std::operator ==(const std::allocator<_Ty> &,const std::allocator<_Other> &) throw()' : could not deduce template argument for 'const std::allocator<_Ty> &' from 'const Point'
c:\program files\microsoft visual studio 8\vc\include\xmemory(174) : see declaration of 'std::operator =='
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(103) : error C2784: 'bool std::operator ==(const std::istreambuf_iterator<_Elem,_Traits> &,const std::istreambuf_iterator<_Elem,_Traits> &)' : could not deduce template argument for 'const std::istreambuf_iterator<_Elem,_Traits> &' from 'const Point'
c:\program files\microsoft visual studio 8\vc\include\xutility(2143) : see declaration of 'std::operator =='
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(103) : error C2784: 'bool std::operator ==(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)' : could not deduce template argument for 'const std::reverse_iterator<_RanIt> &' from 'const Point'
c:\program files\microsoft visual studio 8\vc\include\xutility(1826) : see declaration of 'std::operator =='
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(103) : error C2784: 'bool std::operator ==(const std::pair<_Ty1,_Ty2> &,const std::pair<_Ty1,_Ty2> &)' : could not deduce template argument for 'const std::pair<_Ty1,_Ty2> &' from 'const Point'
c:\program files\microsoft visual studio 8\vc\include\utility(60) : see declaration of 'std::operator =='
c:\documents and settings\mpayne007\my documents\visual studio 2005\projects\project_dibujo\project_dibujo\pointcollection.cpp(103) : error C2676: binary '==' : 'const Point' does not define this operator or a conversion to a type acceptable to the predefined operator
Generating Code...
Compiling...
Main_.cpp
Generating Code...
Build log was saved at "file://c:\Documents and Settings\MPayne007\My Documents\Visual Studio 2005\Projects\Project_Dibujo\Project_Dibujo\Debug\BuildLog.htm"
Project_Dibujo - 6 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========