russo12 Posted December 12, 2009 at 05:24 PM Report Share #300045 Posted December 12, 2009 at 05:24 PM boa tarde, por exemplo, para criar a classe dados_alunos, que contém os campos: nome_aluno, nº_aluno e turma , o campo turma pode ficar de que tipo?? NOTA: Neste caso a turma só pode ser A ou B Link to comment Share on other sites More sharing options...
TheDark Posted December 12, 2009 at 07:50 PM Report Share #300068 Posted December 12, 2009 at 07:50 PM Nesse caso, eu declarava o campo turma com o tipo char, e com modificador private, adicionand dois métodos, getTurma e setTurma, de modo a poder fazer a validação do valor que se pretende inserir no campo. Desaparecido. Link to comment Share on other sites More sharing options...
mogers Posted December 23, 2009 at 12:53 AM Report Share #301963 Posted December 23, 2009 at 12:53 AM Outra hipótese seria usar um enum. Talvez considere o uso de um enum como a melhor em termos teóricos, mas On the other hand, there is not an implicit conversion from int to an enum type: MyEnumType x = 2; // should NOT be allowed by compiler esta é uma funcionalidade que sempre quis. Não gosto nada quando é preciso importar dados dum ficheiro onde temos números e é preciso passar para o enum. edit: mas compreendo que a funcionalidade que referi não é exequível em C++ "What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação. Link to comment Share on other sites More sharing options...
TheDark Posted December 23, 2009 at 10:58 PM Report Share #302186 Posted December 23, 2009 at 10:58 PM Podes utilizar MyEnumType met = static_cast<MyEnumType>(2); embora isto não faça muito sentido, se à partida sabes qual o valor que queres dar à variávell, e podes usar o valor definido na enumeração. Utilizando uma variável, o código fará mais sentido. Tens é que ter código para validar o valor inteiro que vais atribuir à variável, algo assim: enum MyEnumType { INDEFINIDO = -1, ZERO = 0, UM, DOIS, TRES, QUATRO }; int i = 2; // ... MyEnumType met = (i <= QUATRO && i >= 0 ? static_cast<MyEnumType>(i) : INDEFINIDO); Nota: um tipo enum é automaticamente convertido para int quando usado desta forma. Desaparecido. Link to comment Share on other sites More sharing options...
mogers Posted December 26, 2009 at 02:11 AM Report Share #302432 Posted December 26, 2009 at 02:11 AM Não fazia ideia dessa utilização do enum e do static_cast. Nice!! 😞 "What we do for ourselves dies with us. What we do for others and the world, remains and is immortal.", Albert Pine Blog pessoal : contém alguns puzzles, algoritmos e problemas para se resolver com programação. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now