#pragma once
#include <iostream>
#include <string>
using namespace std;

#include "Frukt.h" // Inkludering av klassdefinition.

class Person // Klassen Person (Version 4).
{
public:
	Person(); // Förvald konstruktor. Definieras i Person.cpp.
	Person(Person* förälder1, Person* förälder2); // Konstruktor.
	~Person(); // Destruktor.

	static Person** alla_personer; // Deklaration av klassmedlem.
	static unsigned int maximalt_antal; // Deklaration av klassmedlem.
	static unsigned int antal_personer; // Deklaration av klassmedlem.

	// Definitioner av synliga medlemsfunktioner:
	string Förnamn() { return förnamn; }
	Person* Barn() { return barn; }
	unsigned short Ålder() { return ålder; }
	unsigned short Antal_frukter() { return antal_frukter; }

	// Deklarationer av medlemsfunktioner som definieras i Person.cpp:
	void Plocka_frukter(unsigned short antal);
	void Äta_frukt();
	void Besöka_person();
	void Fylla_år();

private:
	void Få_besök(Person* p); // Privat medlemsfunktion.

	string förnamn; // Privat datamedlem.
	unsigned short ålder; // Privat datamedlem.
	unsigned short antal_frukter;// Privat datamedlem.
	Frukt** frukter; // Privat datamedlem.
	Person* barn; // Privat datamedlem.
};