Introdução
Neste laboratório, você aprenderá como demonstrar o conceito de Herança de Nível Único (Single Level Inheritance) na linguagem de programação C++. Você criará duas classes, uma classe pai e uma classe filha, onde a classe filha (classe derivada - derived class) herda as características (propriedades e métodos) da classe pai (classe base ou superclasse - base or super class).
Criar o arquivo main.cpp
Primeiramente, crie um arquivo main.cpp no diretório ~/project usando o seguinte comando:
touch ~/project/main.cpp
Escrever o código
Copie e cole o seguinte código no seu arquivo main.cpp:
#include <iostream>
// Incluindo as bibliotecas necessárias
using namespace std;
// Declarando uma classe pai (classe base) chamada "Shape"
class Shape {
public:
float area(float l, float b) { // Método para calcular a Área da Forma
return (l * b);
}
float perimeter(float l, float b) { // Método para calcular o Perímetro da Forma
return (2 * (l + b));
}
};
// Declarando uma classe filha (classe derivada) chamada "Rectangle" que deriva ou herda da classe Shape
class Rectangle: private Shape {
private:
float length,
breadth;
public:
Rectangle(): length(0.0), breadth(0.0) {} // Construtor padrão do Rectangle
void getDimensions() { // Método para obter as dimensões do Rectangle do usuário
cout << "\nDigite o comprimento do Rectangle: ";
cin >> length;
cout << "\nDigite a largura do Rectangle: ";
cin >> breadth;
}
// Método para Calcular o perímetro do Rectangle usando a Classe Shape
float perimeter() {
// Chama o método perimeter() da classe Shape e o retorna.
return Shape::perimeter(length, breadth);
}
// Método para Calcular a área do Rectangle usando a Classe Shape
float area() {
// Chama o método area() da classe Shape e o retorna.
return Shape::area(length, breadth);
}
};
int main() {
// Criando um objeto da classe Rectangle
Rectangle rect;
// Mensagem de boas-vindas
cout << "\n\nBem-vindo ao Programa de Herança de Nível Único!\n";
// Mensagem para o usuário
cout << "\nA classe Rectangle é derivada da classe Shape.\n\n";
// Obtendo as dimensões do Rectangle do usuário
rect.getDimensions();
// Calculando o Perímetro do Rectangle usando a classe pai Shape e exibindo a saída
cout << "\nPerímetro do Rectangle calculado usando a classe pai Shape: " << rect.perimeter() << "\n";
// Calculando a Área do Rectangle usando a classe pai Shape e exibindo a saída
cout << "Área do Rectangle calculada usando a classe pai Shape: " << rect.area() << "\n\n";
return 0;
}
Compilar e Executar o código
Em seguida, compile o código usando o seguinte comando:
g++ main.cpp -o main && ./main
Depois, execute o código usando o seguinte comando:
./main
Compreender a saída
Após executar o programa, você verá a seguinte saída:
Welcome to Single Level Inheritance Program!
Rectangle class is derived from the Shape class.
Enter the length of the Rectangle: 5
Enter the breadth of the Rectangle: 10
Perimeter of the Rectangle computed using the parent Class Shape: 30
Area of the Rectangle computed using the parent Class Shape: 50
O programa solicita ao usuário que insira o comprimento e a largura do retângulo. Após obter as dimensões, ele calcula o perímetro e a área usando as funções perimeter() e area() da classe pai Shape.
Resumo
Parabéns! Você escreveu com sucesso um programa C++ demonstrando o conceito de herança de nível único (single level inheritance). Você pode experimentar com diferentes formas e a saída refletirá com precisão os cálculos para quaisquer novas classes derivadas.



