Klasse in C++

Gast #889050
Lesenswert?

Hallo,
Ich habe folgende Klasse in c++:

class person
{
   public:

   string GetName ();
   void   SetName (string name_);

   private:

   string name_;
};

In dieser möchte ich eine Funktion SetName () und  GetName() erstellen.
Ich habe mir gedachte, dass ich SetName so schreibe:

void SetName ()
{
  cout << "A name please: " << endl;   //Name wird gefordert
  cin  >> this -> name_;              //Liest Namen ein und übergibt ihn 
an
                                      //_name
}

string GetName (string _name)
{
  return name_;
}

ist das korrekt?
Gast #889053
Lesenswert?

Hallo,
Ich habe folgende Klasse in c++:

class person
{
   public:

   string GetName (string name_);
   void   SetName ();

   private:

   string name_;
};

In dieser möchte ich eine Funktion SetName () und  GetName() erstellen.
Ich habe mir gedachte, dass ich SetName so schreibe:

void SetName ()
{
  cout << "A name please: " << endl;   //Name wird gefordert
  cin  >> this -> name_;              //Liest Namen ein und übergibt ihn
an
                                      //_name
}

string GetName (string _name)
{
  return name_;
}

ist das korrekt?
Gast #889056
Lesenswert?

Hallo,
Ich habe folgende Klasse in c++:

class person
{
   public:

   string GetName (string name_);
   void   SetName ();

   private:

   string name_;
};

In dieser möchte ich eine Funktion SetName () und  GetName() erstellen.
Ich habe mir gedachte, dass ich SetName so schreibe:

void person::SetName ()
{
  cout << "A name please: " << endl;   //Name wird gefordert
  cin  >> this -> name_;              //Liest Namen ein und übergibt ihn
an
                                      //_name
}

string person::GetName (string _name)
{
  return name_;
}

ist das korrekt?
#889083
Lesenswert?

Bin zwar auch kein C++ Experte, aber:


class person {
   public:
     void   setName(String name);
     String getName(void);

   private:
     Sring name_;
}

void person::setName(String name) {
   name_ = name;
}

void person::getName() {
   return name_;
}


int main() {
   person einePerson;

   einePerson.setName("Paul");
   cout << "Die Person heißt:" << einePerson.getName();

   return 0;
}


Keine Garantie auf absolute Korrektheit, aber so sollte es zumindest von 
der Grundidee passen.
#889094
Lesenswert?

Noch ein bischen schöner:
1
#include <string>
2
#include <iostream>
3
using namespace std;
4

5
class person {
6
   public:
7
     void setName(const string & name);
8
     const string & getName() const;
9

10
   private:
11
     string name_;
12
};
13

14
void person::setName(const string & name) {
15
   name_ = name;
16
}
17

18
const string & person::getName() const {
19
   return name_;
20
}
21

22

23
int main() {
24
   person einePerson;
25

26
   einePerson.setName("Paul");
27
   cout << "Die Person heißt:" << einePerson.getName() << endl;
28

29
   return 0;
30
}
Gast #889097
Lesenswert?

Danke.

Das kompeliert er aber nicht.Fehlermeldungen:

14 C:\Dev-Cpp\C von A bis Z\main.cpp new types may not be defined in a 
return type

14 C:\Dev-Cpp\C von A bis Z\main.cpp two or more data types in 
declaration of `setName'

14 C:\Dev-Cpp\C von A bis Z\main.cpp prototype for `person 
person::setName(const std::string&)' does not match any in class 
`person'

7 C:\Dev-Cpp\C von A bis Z\main.cpp void person::setName(const 
std::string&)

14 C:\Dev-Cpp\C von A bis Z\main.cpp `person person::setName(const 
std::string&)' and `void person::setName(const std::string&)' cannot be 
overloaded

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren