Jag har en egen klass "Vertex", Vertex.h ser ut så här:
Kod: Markera allt
#ifndef _Vertex_h_included_
#define _Vertex_h_included_
#include <iostream>
#include <fstream>
using namespace std;
class Vertex
{
private:
static int totSumVertices;
double xPos;
double yPos;
public:
Vertex();
Vertex(Vertex &v);
Vertex(double x, double y);
~Vertex();
double getXPos(){return xPos;};
double getYPos(){return yPos;};
void setXPos(double x){xPos = x;};
void setYPos(double y){yPos = y;};
Vertex operator=(Vertex &v);
friend ostream & operator<<(ostream &os, Vertex &v);
};
#endif
Kod: Markera allt
#include "Vertex.h"
int Vertex::totSumVertices = 0;
int main(int argc, char** argv)
{
Vertex v1(1.1, 2.2);
cout << v1;
Vertex v2(v1);
cout << v2;
Vertex v3;
v3 = v2;
cout << v3;
Vertex v4(Vertex(0,0));
return 0;
}
Kod: Markera allt
g++ -g *.cpp -Wall (i sökväg: /home/micke/c++/skoluppgifter/Kurs2/ou1)
test.cpp: In function "int main(int, char**)":
test.cpp:35: fel: ingen matchande funktion för anrop av "Vertex::Vertex(Vertex)"
Vertex.h:38: anm: kandidater är: Vertex::Vertex(double, double)
Vertex.h:37: anm: Vertex::Vertex(Vertex&)
Vertex.h:36: anm: Vertex::Vertex()
Kompileringen misslyckades.
Utanför ämnet: ps. jag är obenägen att posta själva implementeringen eftersom det är en skoluppgift, ev kursare här på forumet måste finna sin egen lösning
/Micke