Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<string>
- using namespace std;
- namespace Universidade{
- //Polimorfismo paramétrico
- template <class t> class Aluno{
- private:
- //polimorfismo paramétrico
- int codigo;
- string nome;
- protected:
- float valorMensalidade;
- public:
- //Polimorfismo por sobrecarga
- Aluno(int codigo, string nome)
- {
- this->codigo = codigo;
- this->nome = nome;
- }
- Aluno()
- {
- }
- void setValorMensalidade(float valorMensalidade)
- {
- this->valorMensalidade = valorMensalidade;
- }
- //
- float calcValorMensalidade()
- {
- return(valorMensalidade);
- }
- };
- template <class t> class AlunoPesquisador : public Aluno<t>{
- public:
- AlunoPesquisador(int codigo, string nome) : Aluno<t>(codigo, nome)
- {
- }
- float calcValorMensalidade()
- {
- return(Aluno<t>::valorMensalidade * 0.5);
- }
- };
- }
- int main()
- {
- Universidade::Aluno<int> a(893, "caio");
- a.setValorMensalidade(921.45);
- cout << a.calcValorMensalidade() << endl;
- Universidade::AlunoPesquisador<string> b(289, "mario");
- b.setValorMensalidade(921.45);
- cout << b.calcValorMensalidade() << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement