#include
class ClasseBase
{
protected:
int m_propr_base1;
int m_propr_base2;
public:
// Construtores.
ClasseBase() : m_propr_base1(10),
m_propr_base2(20) {}
// Destrutor.
~ClasseBase() {}
// Métodos de acesso.
int acessaPropr1() const {return m_propr_base1;}
void definePropr1(int valor){ m_propr_base1 = valor;}
int acessaPropr2() const {return m_propr_base2;}
void definePropr2(int valor){m_propr_base2 = valor;}
// Outros métodos.
void met_base1() const
{
cout << "\nEstamos em met_base1...\n";
} // Fim de met_base1()
void met_base2() const
{
cout << "\nEstamos em met_base2...\n";
} // Fim de met_base2()
}; // Fim de class ClasseBase
class ClasseDeriv : public ClasseBase
{
private:
int m_propr_deriv;
public:
// Construtor.
ClasseDeriv() : m_propr_deriv(1000){}
// Destrutor.
~ClasseDeriv() {};
// Métodos de acesso.
int acessaPropr_deriv() const
{
return m_propr_deriv;
} // Fim de acessaPropr_deriv()
void definePropr_deriv(int valor)
{
m_propr_deriv = valor;
} // Fim de definePropr_deriv()
// Outros métodos.
void metodoDeriv1()
{
cout << "Estamos em metodoDeriv1()...\n";
} // Fim de metodoDeriv1()
void metodoDeriv2()
{
cout << "Estamos em metodoDeriv2()...\n";
} // Fim de metodoDeriv2()
}; // Fim de class ClasseDeriv.
int main()
{
// Cria um objeto
// de ClasseDeriv.
ClasseDeriv objDeriv;
// Chama métodos da
// classe base.
objDeriv.met_base1();
objDeriv.met_base2();
// Chama métodos da
// classe derivada.
objDeriv.metodoDeriv1();
cout << "Valor de m_propr_deriv = "
<< objDeriv.acessaPropr_deriv()
<< "\n";
system("pause");
} // Fim de main()
//---------------------------------------------------
class ClasseBase
{
protected:
int m_propr_base1;
int m_propr_base2;
public:
// Construtores.
ClasseBase() : m_propr_base1(10),
m_propr_base2(20) {}
// Destrutor.
~ClasseBase() {}
// Métodos de acesso.
int acessaPropr1() const {return m_propr_base1;}
void definePropr1(int valor){ m_propr_base1 = valor;}
int acessaPropr2() const {return m_propr_base2;}
void definePropr2(int valor){m_propr_base2 = valor;}
// Outros métodos.
void met_base1() const
{
cout << "\nEstamos em met_base1...\n";
} // Fim de met_base1()
void met_base2() const
{
cout << "\nEstamos em met_base2...\n";
} // Fim de met_base2()
}; // Fim de class ClasseBase
class ClasseDeriv : public ClasseBase
{
private:
int m_propr_deriv;
public:
// Construtor.
ClasseDeriv() : m_propr_deriv(1000){}
// Destrutor.
~ClasseDeriv() {};
// Métodos de acesso.
int acessaPropr_deriv() const
{
return m_propr_deriv;
} // Fim de acessaPropr_deriv()
void definePropr_deriv(int valor)
{
m_propr_deriv = valor;
} // Fim de definePropr_deriv()
// Outros métodos.
void metodoDeriv1()
{
cout << "Estamos em metodoDeriv1()...\n";
} // Fim de metodoDeriv1()
void metodoDeriv2()
{
cout << "Estamos em metodoDeriv2()...\n";
} // Fim de metodoDeriv2()
}; // Fim de class ClasseDeriv.
int main()
{
// Cria um objeto
// de ClasseDeriv.
ClasseDeriv objDeriv;
// Chama métodos da
// classe base.
objDeriv.met_base1();
objDeriv.met_base2();
// Chama métodos da
// classe derivada.
objDeriv.metodoDeriv1();
cout << "Valor de m_propr_deriv = "
<< objDeriv.acessaPropr_deriv()
<< "\n";
system("pause");
} // Fim de main()
//---------------------------------------------------
Comentários
Postar um comentário