Skip to content

Instantly share code, notes, and snippets.

@farmincoding
Last active August 1, 2021 17:14
Show Gist options
  • Save farmincoding/f57bda7290645fbc65695e170540e8c9 to your computer and use it in GitHub Desktop.
Save farmincoding/f57bda7290645fbc65695e170540e8c9 to your computer and use it in GitHub Desktop.
Facebook
#include "Csoport.h"
void Csoport::tagfelvetel(Felhasznalo* felhasz) {
csoporttagok.push_back(felhasz);
}
void Csoport::ujuzenet(Uzenet* uzenet) {
uzenetek.push_back(uzenet);
}
#ifndef CS_H
#define CS_H
#include <iostream>
#include <string>
#include <vector>
#include "Uzenet.h"
#include "Felhasznalo.h"
using namespace std;
class Csoport
{
private:
string csnev;
vector <Felhasznalo*> csoporttagok;
vector <Uzenet*> uzenetek;
public:
Csoport(string csnev) :csnev(csnev) {}
string getCsnev() const { return csnev; }
void tagfelvetel(Felhasznalo* felhasz);
void ujuzenet(Uzenet* uzenet);
void kiiir() const {
cout << "" << csnev << "-----------------"<<endl;
for (auto u : uzenetek) {
u->uki();
}
}
~Csoport() {
for (auto cs : csoporttagok) {
delete cs;
}
}
};
#endif
#ifndef F_H
#define F_H
#include <string>
using namespace std;
class Felhasznalo
{
private:
string fnev;
public:
Felhasznalo(string fnev) : fnev(fnev) {}
string getFnev() const { return fnev; }
};
#endif // !F_H
#include "Kozossegimedia.h"
Kozossegimedia::Kozossegimedia()
{
}
void Kozossegimedia::csoportletrehozasa(string csnev) {
csoportok.push_back(new Csoport(csnev));
}
void Kozossegimedia::regisztracio(string fnev) {
felhasznalok.push_back(new Felhasznalo(fnev));
}
Csoport* Kozossegimedia::keresescsnev(string csnev) {
for (auto cs : csoportok) {
if (cs->getCsnev() == csnev) return cs;
}
return nullptr;
}
Felhasznalo* Kozossegimedia::keresesfnev(string fnev) {
for (auto f : felhasznalok) {
if (f->getFnev() == fnev) return f;
}
return nullptr;
}
void Kozossegimedia::uzenetkuldes(Felhasznalo* f, string tart, string ido, Csoport* cs) {
cs->ujuzenet(new Uzenet(f->getFnev(), tart, ido));
}
#ifndef K_H
#define K_H
#include <string>
#include <vector>
#include "Felhasznalo.h"
#include "Csoport.h"
using namespace std;
class Kozossegimedia
{
private:
vector <Csoport*> csoportok;
vector <Felhasznalo*> felhasznalok;
public:
Kozossegimedia();
void csoportletrehozasa(string csnev);
void regisztracio(string fnev);
Csoport* keresescsnev(string csnev);
Felhasznalo* keresesfnev(string fnev);
void uzenetkuldes(Felhasznalo* f, string tart, string ido, Csoport* cs);
void kiir() const {
cout << "facebook/" << endl << endl;
for (auto cs : csoportok) {
cs->kiiir();
cout << endl;
}
}
~Kozossegimedia() {
for (auto f : felhasznalok) {
delete f;
}
for (auto cs : csoportok) {
delete cs;
}
}
};
#endif
#include <iostream>
#include "Kozossegimedia.h"
using namespace std;
int main()
{
Kozossegimedia Facebook;
Facebook.regisztracio("Venom");
Facebook.regisztracio("Dvajn");
Facebook.regisztracio("Bastya");
Facebook.regisztracio("Armin");
Facebook.regisztracio("Attila");
Facebook.csoportletrehozasa("Mountainback boys");
Facebook.csoportletrehozasa("Rockimadok");
Facebook.keresescsnev("Mountainback boys")->tagfelvetel(Facebook.keresesfnev("Venom"));
Facebook.keresescsnev("Mountainback boys")->tagfelvetel(Facebook.keresesfnev("Dvajn"));
Facebook.keresescsnev("Mountainback boys")->tagfelvetel(Facebook.keresesfnev("Bastya"));
Facebook.keresescsnev("Mountainback boys")->tagfelvetel(Facebook.keresesfnev("Armin"));
Facebook.keresescsnev("Mountainback boys")->tagfelvetel(Facebook.keresesfnev("Attila"));
Facebook.keresescsnev("Rockimadok")->tagfelvetel(Facebook.keresesfnev("Venom"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Dvajn"), "Megvan az algo!", "20:00", Facebook.keresescsnev("Mountainback boys"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Venom"), "Melyik?", "20:01", Facebook.keresescsnev("Mountainback boys"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Armin"), "Ricsard minden random mondat utan...", "20:02", Facebook.keresescsnev("Mountainback boys"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Bastya"), "A hugodnak?", "20:03", Facebook.keresescsnev("Mountainback boys"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Attila"), "Kellfag meegj laffiii", "01:32", Facebook.keresescsnev("Mountainback boys"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Venom"), "Hallottatok ezt a szamot??", "2019.01.01/10:11", Facebook.keresescsnev("Rockimadok"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Venom"), "Valaki?", "2019.01.02/10:13", Facebook.keresescsnev("Rockimadok"));
Facebook.uzenetkuldes(Facebook.keresesfnev("Venom"), "?:(", "2020.01.11/10:11", Facebook.keresescsnev("Rockimadok"));
Facebook.kiir();
}
#ifndef U_H
#define U_H
#include <string>
#include <iostream>
using namespace std;
class Uzenet
{
private:
string felhasz;
string tart;
string ido;
public:
Uzenet(string felhasz, string tart, string ido):felhasz(felhasz), tart(tart), ido(ido){}
void uki() const {
cout<<" " << ido << endl;
cout << felhasz << endl;
cout << tart << endl;
}
};
#endif
@boszedave
Copy link

ezt itt hagyom

@farmincoding
Copy link
Author

megtisztelo!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment