Funktionen in Klassen (c++)

Hallo,

ich habe drei Funktionen, die ich in Klassen deklarieren will. Ich weiss, dass ich es so machen könnte:
double f1(int y)
char f2(int x, int y)
int f3(int z, int y)
int f4(int z, int y, int t)
Aber das möchte ich nicht, weil ich noch andere Funktionen mit gleichen Variablen habe. Ich denke, es ist besser, alles in Klassen zu deklarieren. Kann mir jemand dabei helfen, es richtig zu deklarieren? Ich habe schon was versucht, aber es ist falsch.

class var_y{
int y;
};

class var_x{
int x;
};

class var_z{
int z;
};

class var_t{
int t;
};

Jetzt möchte ich alle meine Funktionen deklarieren, aber wie??? Vielleicht, so was wie: var_y f1; Ich wäre sehr dankbar für einen Hinweis.

Maria

Hallo marysia

ich habe drei Funktionen, die ich in Klassen deklarieren will.
Ich weiss, dass ich es so machen könnte:
double f1(int y)
char f2(int x, int y)
int f3(int z, int y)
int f4(int z, int y, int t)
Aber das möchte ich nicht, weil ich noch andere Funktionen mit
gleichen Variablen habe. Ich denke, es ist besser, alles in
Klassen zu deklarieren. Kann mir jemand dabei helfen, es
richtig zu deklarieren? Ich habe schon was versucht, aber es
ist falsch.

Was möchtest du denn dann mit den Funktionen
machen?

Warum ist denn:

 double f1( int y)
 char f2( int x, int y )
 int f3( int z, int y )
 int f4( int z, int y, int t )

nicht o.k.?

Was kommt denn dann noch, damit einem (wie mir)
klar wird, dass obiges nicht geht?

Grüße

CMБ

hallo Maria,

Es spricht nichts dagegen, mehrere Funktionen mit gleichen (ähnlichen) Argumenten zu deklarieren.
Probier es mal so:

class X
 {
 private:
 // Variable
 int x\_, y\_;

 public:
 // Funktionen:
 double f1( int y);
 char f2( int x, int y );
 int f3( int z, int y );
 int f4( int z, int y, int t );
 };

double X::f1( int y)
 {
 double dl = 3.14;
 return dl \* y;
 } 

mit den anderen drei Funktionen machst Du es dann genauso.

lg
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Moin

Probier es mal so:

class X
{
private:
// Variable
int x_, y_;

was soll diese verwirrung wenn member dann doch wohl _x,_y

public:
// Funktionen:
double f1( int y);
char f2( int x, int y );
int f3( int z, int y );
int f4( int z, int y, int t );
};

oder wirkt deine obere deklaration irgentwie auf die funktionsdeklaration ein ??

Um den Un/sinn noch zu erweitern

Also Soll zb. int x eine classe Cx sein

Class Cx 
{
private : int x;
}

Class Cy 
{
private : int x;
}

Class Cz 
{
private : int z;
}



F1(int nx, int ny, int nz)
{
Cx mYx;
Cy mYy;
Cz mYz;

mYx=nx;
mYy=ny;
mYz=nz;
.
.
mYy = 100;
}

oder 

Class Cxyz
{
private : 
int x;
int y;
int z;
}

F1(int nx, int ny, int nz)
{
Cxyz xyz;
xyz.x=nx;
xyz.y=ny;
xyz.z=nz;
.
.
xyz.y = 100;
}

da aber per deklarationsliste schon private variablen angelegt werden
wäre es nur ein informativer nutzen

Ganz nebenbei gesagt, eine SammelDefinition F1,F2(int y,int y) geht nicht