Введение
В этом лабораторном занятии мы узнаем, как демонстрировать концепцию перегрузки методов в языке программирования C++. Перегрузка методов - это концепция, при которой в классе можно иметь несколько методов или функций с одинаковым именем, но с разными параметрами. Вызывается соответствующий метод в зависимости от количества и типов параметров, передаваемых во время вызова метода.
Создайте файл на C++
Сначала мы создаем новый файл на C++, названный main.cpp, в директории ~/project, используя следующую команду:
touch ~/project/main.cpp
Напишите код
Мы создадим класс под названием shape и опишем два метода под названием area(), но с разным количеством параметров. Метод input() будет запрашивать у пользователя ввод значений для переменных-членов l, b и s. Затем мы опишем метод main(), чтобы получить доступ к членам класса shape из вне класса.
#include <iostream>
using namespace std;
class shape {
//объявление переменных-члена
public:
int l, b, s;
//определение методов класса
public:
void input() {
cout << "Введите длину каждой стороны квадрата: \n";
cin >> s;
cout << "\n";
cout << "Введите длину и ширину прямоугольника: \n";
cin >> l >> b;
cout << "\n";
}
//демонстрация перегрузки методов
public:
void area(int side) {
cout << "Площадь квадрата = " << side * side << endl;
}
void area(int length, int breadth) {
cout << "Площадь прямоугольника = " << length * breadth << endl;
}
};
int main() {
cout << "\n\nДобро пожаловать в LabEx :-)\n\n\n";
cout << " ===== Программа для демонстрации перегрузки методов в классе на CPP ===== \n\n";
//объявление объекта класса для доступа к членам класса из вне класса
shape sh;
cout << "\nВызов функции input() для ввода значений от пользователя\n";
sh.input();
cout << "\nВызов функции area(int) для вычисления площади квадрата\n";
sh.area(sh.s);
cout << "\nВызов функции area(int,int) для вычисления площади прямоугольника\n";
sh.area(sh.l, sh.b);
cout << "\nВыход из метода main()\n\n\n";
return 0;
}
Компилируйте и запустите код
Теперь мы скомпилируем и запустим код с использованием следующей команды:
g++ main.cpp -o main && ./main
Понять вывод
Вывод программы будет следующим:
Welcome to LabEx :-)
===== Program to demonstrate Method Overloading in a Class, in CPP =====
Calling the input() function to take the values from the user
Enter the length of each side of the Square:
4
Enter the length and breadth of the Rectangle:
5
6
Calling the area(int) function to calculate the area of the Square
Area of Square = 16
Calling the area(int,int) function to calculate the area of the Rectangle
Area of Rectangle = 30
Exiting the main() method
Здесь мы видим, что метод input() вызывается для приема ввода от пользователя. Затем метод area() с одним параметром вызывается для вычисления площади квадрата, а метод area() с двумя параметрами вызывается для вычисления площади прямоугольника.
Резюме
В этом практическом занятии мы узнали, как использовать концепцию перегрузки методов в языке программирования C++. Мы создали программу, которая определяет класс под названием shape с двумя методами под названием area(), но с разным количеством параметров, которые были перегружены. Пользователь вводит длину и ширину прямоугольника и длину стороны квадрата. Мы использовали перегруженные методы для вычисления площадей обоих фигур.



