Programar em C++/Encapsulamento: diferenças entre revisões

[edição verificada][revisão pendente]
Conteúdo apagado Conteúdo adicionado
m <source> -> <syntaxhighlight> (phab:T237267)
 
Linha 21:
Vejamos um exemplo básico:
 
<sourcesyntaxhighlight lang="cpp">
class veículo
{
Linha 38:
 
};
</syntaxhighlight>
</source>
 
A segunda classe declarada possui a extensão "'': '''public''' veiculo''" a mais, esta parte refere-se a uma declaração de parentesco. De fato, ao declarar a classe desta forma estamos informando ao compilador que a classe ''veiculo'' é '''mãe''' da classe ''carro''. Semanticamente, isto significa que a classe carro possui toda a estrutura da classe veiculo além de seus próprios membros.
Linha 52:
Vejamos o exemplo anterior com algumas alterações:
 
<sourcesyntaxhighlight lang="cpp">
class veiculo
{
Linha 90:
 
};
</syntaxhighlight>
</source>
 
Neste exemplo definimos que o atributo cor não pode ser modificado, a não ser pela função altCor(), onde restringimos as cores a um conjunto que desejamos. Observe que ao tentar atribuir qualquer cor diferente de "vermelho", "azul" e "prata", receberemos um retorno "'''false'''". Assim, temos a possibilidade de controlar o comportamento do objeto criado através da restrição imposta.
Linha 102:
A sintaxe para criação de um '''namespace''' é bem simples. Vejamos um exemplo de código, para observarmos os detalhes:
 
<sourcesyntaxhighlight lang=cpp>
namespace MeuEspaco
{ void print()
Linha 115:
}
}
</syntaxhighlight>
</source>