I need some help on this ASAP as the program is due at 11:00pm.

I have one error left, but I have a feeling once it's fixed I'm going to have several more. That would be my luck.

The error is the title for this problem: declaration of 'OPairType::OPairType(int, int)' outside of class is not definition -fpermissive

Here is my full code:

Header File:

class OPairType{
private:
int x;
int y;
public:
OPairType (int=0, int=0);
int getX() const;
int getY() const;
void setX(int);
void setY(int);
void setValues(int, int);
friend OPairType operator + (OPairType, OPairType);
friend OPairType operator - (OPairType, OPairType);
friend bool operator == (OPairType, OPairType);
friend bool operator != (OPairType, OPairType);
friend std:stream& operator << (std:stream&, OPairType);
And here is the .cpp code:

#include "OPairType.h"
#include <iostream>

OPairType::OPairType (int x, int y); //error occurs here

int OPairType::getX() const {
return x;
}

int OPairType::getY() const {
return y;
}

void OPairType::setX(int new_x) {
x = new_x;
}

void OPairType::setY(int new_y) {
y = new_y;
}

void OPairType::setValues (int new_x, int new_y){
x = new_x;
y = new_y;
}

OPairType operator + (OPairType lh, OPairType rh){
OPairType answer;

answer.x = lh.x + rh.x;
answer.y = lh.y + rh.y;

return answer;
}

OPairType operator - (OPairType lh, OPairType rh){
OPairType answer;

answer.x = lh.x - rh.x;
answer.y = lh.y - rh.y;

return answer;
}

bool operator == (OPairType lh, OPairType rh){
return lh.x == rh.x && lh.y == rh.y;
}

bool operator != (OPairType lh, OPairType rh){
return !(lh.x == rh.x && lh.y == rh.y);
}

std:stream& operator << (std:stream& out, OPairType c){
out << "(" << c.x << ", " << c.y << ")";
return out;
}
Any responses at all will be appreciated. Just be fast is all I ask