Chciałbym zrobić klase "punkt", który posiada x, y, i klase "nazwanyPunkt", który posiada x, y, nazwa. Wiem że można to łatwo zrobić za pomocą dziedziczenia, ale jestem uparty i chce mieć tak
#include <iostream>
using namespace std;
class punkt
{
public:
int x, y;
void setPosition( int X, int Y )
{
x = X;
y = Y;
}
};
class nazwanyPunkt
{
public:
string name;
punkt p;
nazwanyPunkt( string nazwa, int X, int Y )
{
name = nazwa;
p.setPosition( X, Y );
}
};
int main()
{
nazwanyPunkt abc( "abc", 1, 1 );
return 0;
}
w linijce "nazwanyPunkt( string nazwa, int X, int Y )" wyskakuje błąd "no matching function for call to 'nazwanyPunkt ::nazwanyPunkt()'". Co robię źle?
Edit:
Kod, działa, ale jak w klasie zamiast
punkt p;
wpisuje
punkt p( 1, 2 );
to już nie działa