I have a Spieler class and a Verein class with a vector of Spieler members.
Now if I change something of the Players like the Staerke(german for strength) by using a function of this class in the player class it does not automatically change the value for this player. 
Here is the code:
#include <vector>
#include<iostream>
#include <string>
using namespace std;
class Spieler
{
    public:
        void setinformation(int a, string b, string c, int d)
        {
            ID = a;
            Vorname = b;
            Nachname = c;
            Staerke = d;
        }
        void getinformation()
        {
            cout << "ID: " << ID << endl;
            cout << "Vorname: " << Vorname << endl;
            cout << "Nachname: " << Nachname << endl;
            cout << "Staerke: " << Staerke << endl << endl;
        }
        void setStaerke(int x)
        {
            Staerke = x;
        }
        int getStaerke()
        {
            return Staerke;
        }
    private:
        string Vorname, Nachname;
        int Staerke, ID;
};
class Verein
{
    public:
        void setSpielerListe(vector<Spieler> x)
        {
            Spielerliste = x;
        }
        vector<Spieler> getSpielerListe()
        {
            return Spielerliste;
        }
        string getVereinsName()
        {
            return VereinsName;
        }
        int getVereinsID() const
        {
            return VereinsID;
        }
        void setVereinsID(int x)
        {
            VereinsID = x;
        }
        int getGesamtstaerke()
        {
            Gesamtstaerke = 0;
            vector<Spieler> b;
            b = getSpielerListe();
            for (size_t i = 0; i < b.size(); i++)
            {
                Gesamtstaerke = Gesamtstaerke + b[i].getStaerke();
            }
            return Gesamtstaerke;
        }
        void Vereinsinformationen()
        {
            vector<Spieler> list;
            int id;
            string vereinsname;
            int gesamtstaerke;
            id = getVereinsID();
            vereinsname = getVereinsName();
            gesamtstaerke = getGesamtstaerke();
            list = getSpielerListe();
            cout << "VereinsID: " << id << endl;
            cout << "Vereinsname: " << vereinsname << endl;
            cout << "Gesamstaerke: " << gesamtstaerke << endl << endl;
            cout << "Spieler: " << endl;
            for (size_t i = 0; i < list.size(); i++)
                list[i].getinformation();
        }
    private:
        vector<Spieler> Spielerliste;
        int VereinsID, Gesamtstaerke;
        string VereinsName;
};
vector<Spieler> spieler;
int main()
{
    Spieler Spieler1;
    Spieler1.setinformation(0, "Peter", "Pan", 10);
    spieler.emplace_back(Spieler1);
    Verein Team1;
    Team1.setSpielerListe(spieler);
    Spieler1.setStaerke(20);
    Team1.Vereinsinformationen();
    cin.get();           
    return 0;
}
I'm really new into c++ and programming so the code might be terrible.
Guess it has to do with pointers, I'm really not into the concept of storing data in c++, try to get it by trial & error; So how to change the Staerke in a way that it is changed in the Teams Playerlist too? 
 
     
     
     
    