-
Notifications
You must be signed in to change notification settings - Fork 0
/
Professor.cpp
58 lines (39 loc) · 1.32 KB
/
Professor.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#include "Professor.h"
#include "Perfil.h"
#include "Pessoa.h"
#include "Publicacao.h"
#include "Mensagem.h"
#include <stdexcept>
#include <string>
#include <iostream>
using namespace std;
Professor::Professor(int numeroUSP, string nome, string email, string departamento) : Pessoa(numeroUSP, nome, email) {
this->departamento = departamento;
}
Professor::Professor(int id, int numeroUSP, string nome, string email, string departamento) : Pessoa(id, numeroUSP, nome, email) {
this->departamento = departamento;
}
Professor::~Professor(){
}
string Professor::getDepartamento() {
return departamento;
}
void Professor::adicionarSeguidor (Perfil* seguidor) {
vector<Perfil*>:: iterator o = seguidores->begin();
int errou = 0;
while (o != seguidores->end()) {
if ((*o) == seguidor) {
throw new invalid_argument("Esse perfil ja e seguido");
errou = 1;
}
o++;
}
if (this->getId() == seguidor->getId()) {
throw new invalid_argument("Voce tentou seguir a si mesmo");
} else if (errou == 0) {
seguidores->push_back(seguidor);
string uniaoMsg = "Novo Seguidor: " + seguidor->getNome();
Publicacao* publiN = new Mensagem (this ,uniaoMsg);
receber(publiN);
}
}