C++ · Capítulo 5

Objetos, módulos e arquitetura

Modelar entidades e separar responsabilidades.

CONCEITO

O que precisas de perceber

Em linguagens com orientação a objetos, uma classe define estado e comportamento; objetos são instâncias. Mesmo sem classes, módulos e ficheiros ajudam a separar interface, regras de negócio e acesso a dados.

EXEMPLO

Vê o código

class Aluno {
 std::string nome; std::vector<double> notas;
public:
 Aluno(std::string n,std::vector<double> x):nome(n),notas(x){}
 double media() const { return std::accumulate(notas.begin(),notas.end(),0.0)/notas.size(); }
};
CADERNO DIGITAL

As minhas notas

Escreve apontamentos deste capítulo. Ficam apenas neste dispositivo.

Guardado localmente.
AGORA TU

Exercício

Modela um Aluno com nome e notas e cria um método/função que calcule a média.

Ver uma solução possível
class Aluno {
 std::string nome; std::vector<double> notas;
public:
 Aluno(std::string n,std::vector<double> x):nome(n),notas(x){}
 double media() const { return std::accumulate(notas.begin(),notas.end(),0.0)/notas.size(); }
};