Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Vectoren deklarieren

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
03.01.2016, 18:58 Uhr
~cppStarter
Gast


Ich verstehe nicht ganz was hier deklariert wird, also zumindest das ein Vektor konsturiert wird glaub ich zu verstehen :

C++:

Person::Person(const string &name, const string &password)
: name(name)
, password(password)
{}




Was bedeutet

C++:
:name(name)

und

C++:
, password(password)

und warum sind steht das nicht in den {}?
Vielen Dank für die Hi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.01.2016, 20:29 Uhr
ao

(Operator)


Das ist der Konstruktor für ein Objekt vom Typ Person. Mit Vector hat das nichts zu tun - wie kommst du darauf?

:name(name), password(password) ist eine sogenannte Initialisierungsliste (engl. initializer list). Google ist dein Freund.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.01.2016, 13:25 Uhr
~cppStarter
Gast


Ah ich verstehe! Vielen Dank!
Hab gedacht ich muss den Vector da schon initialisieren aber lag wohl ziemlich daneben^^... bin jetz auch auf eine map umgestiegen....
daher meine neue Frage:

Wenn ich eben dann ein Objekt der Klasse Person habe die ja aus name und password besteht,
wie greif ich dann in einer anderen Klasse darauf in einer Funktion zu?
folgendes Beispiel:

C++:

void Votum::addPerson(const Person &p)
{
  string nameValue,pwValue;
  nameValue = p(name);
  pwValue = p(password);
  persons.insert(std::pair<string,string>(nameValue,pwValue));
}




bekomm beim kompilieren leider immer die Nachricht name und password sind nich deklariert..
Vielen Dank für die Hilfe !
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
04.01.2016, 13:29 Uhr
~cppStarter
Gast


folgendes hab ich includiert:

C++:
#include <iostream>
#include "Vote.h"
#include <string>
#include <map>
#include "Person.h"

using namespace std;



wobei wohl vorallem die class Person.h entscheidend ist :

[cpp]
#ifndef PERSON_H
#define PERSON_H

#include <stdio.h>
#include <string>
#include <map>
#include "Vote.h"
using namespace std;

class Person{

public:

Person(const string &name,const string &password);
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
04.01.2016, 13:30 Uhr
~cppStarter
Gast


wobei wohl vorallem die class Person.h entscheidend ist :

C++:
#ifndef PERSON_H
#define PERSON_H

#include <stdio.h>
#include <string>
#include <map>
#include "Vote.h"
using namespace std;

class Person{

public:
  
Person(const string &name,const string &password);

private:

string name, password;

};

#endif

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
04.01.2016, 23:55 Uhr
ao

(Operator)


Du musst die Member name und password über öffentliche Methoden zugänglich machen. Man nennt solche einfachen Abfrage-Routinen auch "Getter". Einfaches kompilierbares Beispiel:


C++:
#ifndef PERSON_H
#define PERSON_H

#include <stdio.h>
#include <string>
#include <map>
//#include "Vote.h"
using namespace std;

class Person{

public:
  
Person(const string &name,const string &password);

private:

string name, password;

public:
    string Name () const { return name; }
    string Password () const { return password; }

};

#endif

class Votum
{
    map<string, string> persons;
    
public:
    void addPerson (const Person & p);
};

void Votum::addPerson(const Person &p)
{
  string nameValue,pwValue;
  nameValue = p.Name ();
  pwValue = p.Password ();
  persons.insert(std::pair<string,string>(nameValue,pwValue));
}

int main ()
{
    Person p ("Willi", "willis-password");
    Votum v;
    
    v.addPerson (p);
    
    return 0;
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.01.2016, 12:49 Uhr
~cppStarter
Gast


Vielen Dank für die Hilfe!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: