Параметризованный конструктор в C++: работа и примеры
Опубликовано: 2021-05-27Оглавление
Что такое Конструктор?
Конструктор — это функция-член класса, которая используется для инициализации объектов в классе. В C++ при создании объекта, который является экземпляром класса, конструктор вызывается автоматически. Таким образом, конструктор — это специальная функция-член класса.
Что такое параметризованный конструктор?
Аргументы могут быть переданы конструкторам. Когда объект создается, эти аргументы помогают инициализировать объект. Чтобы создать параметризованный конструктор в C++ , мы можем добавить параметры к функции, как это можно добавить к любой другой функции. Когда тело конструктора определено, параметры используются для инициализации объекта.
Синтаксис параметризованного конструктора в C++
имя_класса_класса{
Спецификатор доступа (общедоступный/защищенный/частный):
Переменные-члены
Функции-члены
публичный:
name_of_class(variables){ //Код для конструктора
}
// другие функции и переменные
}
Синтаксис включает имя_класса, за которым следует спецификатор доступа, содержащий функции-члены и переменные-члены. Все это включено в код конструктора, что означает, что его можно вызывать в теле конструктора.
Читайте также: Проекты с открытым исходным кодом для C++
Пример параметризованного конструктора в C++
#include <иопоток>
использование пространства имен std;
пример класса
{
частный:
инт а, б;
публичный:
// Параметризованный конструктор
Пример (целое a1, целое b1)
{
а = а1;
б = б1;
}
интервал getA()
{
вернуть а;
}
int получитьB ()
{
вернуть б;
}
};
основной ()
{
// Вызов конструктора
Пример e1(5, 10);
cout << "e1.a = " << e1.getA() << ", e1.b = " << e1.getB();
вернуть 0;
}
Выход
Объяснение: Частные переменные a и b объявлены в классе Example. Параметризованный конструктор объявляется с помощью функции Example. Он включает два метода getA() и getB(). В основном классе вызывается конструктор и присваиваются значения доступа конструктора.
Как работает параметризованный конструктор в C++?
Инициируется объект, который содержит значения или детали и параметры, которые объект будет обрабатывать или содержать всякий раз, когда определяется параметризованный конструктор в C++ . Затем становится возможным передать аргументы этому объекту. Процедура очень похожа на передачу значения функции. Это также похоже на передачу параметризованных значений объектам.
Объекты, определенные в теле конструктора, инициализируются с использованием параметров. Значения должны передаваться в качестве аргументов функции конструктора всякий раз, когда объявляется параметризованный конструктор. Эти конструкторы можно вызывать как явно, так и неявно. Традиционный способ объявления объекта не работает.
Примечание: Типы вызовов-
- Явный вызов — Пример e1= Пример (0,10)
- Неявный вызов – Пример e1(0,10)
Оформить заказ: идеи проектов на C++ для начинающих
Каково использование параметризованного конструктора в C++?
Варианты использования параметризованных конструкторов следующие:
- Перегрузка конструктора
- Используется для присвоения разных значений различным элементам данных разных объектов при их инициализации/создании.
Другой пример:
1. Программа для вычисления площади прямоугольника
#include <иопоток>
использование пространства имен std;
// объявление класса
прямоугольник класса {
частный:
двойная длина;
двойная ширина;
публичный:
// создание параметризованного конструктора
прямоугольник (двойная длина, двойная ширина) {
// инициализируем приватные переменные
длина = длина;
ширина = брт;
}
двойной расчет площади () {
обратная длина * ширина;
}
};
интервал основной () {
// создание объектов и инициализация элементов данных
прямоугольник rect1(10, 8.6);
прямоугольник rect2(8.5, 6);
cout << «Площадь прямоугольника 1:» << rect1.calculateArea() << endl;
cout << «Площадь прямоугольника 2:» << rect2.calculateArea() << endl;
вернуть 0;
}
Выход
Объяснение: В этом примере мы создали параметризованный конструктор прямоугольника() с двумя параметрами: double len и double bdt. Эти параметры содержат значения, используемые для инициализации длины и ширины переменных-членов. Когда мы создаем объект класса Rectangle, мы передаем значения переменных-членов в качестве аргументов. Мы можем вычислить площадь с помощью функции calculateArea() при инициализации переменных-членов.
1. Отображение оценок учеников
#include <иопоток>
использование пространства имен std;
класс Студент {
публичный:
int std_id;//элемент данных
string std_name;//также переменная экземпляра
плавающие std_marks;
Студент (целое i, строка a, число с плавающей запятой b)
{
std_id = я;
стандартное_имя = а;
стандартные_метки = б;
}
пустой дисплей ()
{
cout<<std_id<<» «<<std_name:<<» «<<std_marks <<endl;
}
};
интервал основной (пустой) {
Студент s1 = Студент(101, «Соня», 89); //создание объекта ученика
Студент s2=Студент(102, «Накул», 59);
s1.дисплей();
s2.дисплей(); вернуть 0;
}
Выход
Объяснение: идентификатор, имя и метки являются элементами данных (также переменными экземпляра). Студент — это параметризованный конструктор, и его объекты создаются в основном классе.
Изучайте онлайн -курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.
Заключение
Конструкторы — это просто специальные виды методов, в которые мы можем передавать значения. Если мы не передаем значения в конструктор, то конечный объект имеет какое-то значение по умолчанию. [1] [MOU2] Объекты содержат методы и значения переменных-членов, которые являются частью основного класса. Эти значения, наконец, передаются через конструкторы. Преимущество параметризованного конструктора в C++ состоит в том, что он присваивает разным объектам разные значения, что может привести к перегрузке.
Теперь, когда вы знакомы с параметризованными конструкторами в C++, если вы хотите копнуть глубже и продвинуться в своей карьере программиста, изучите курсы от upGrad, крупнейшей онлайн-компании высшего образования в Индии. Вы должны ознакомиться с нашей программой разработки программного обеспечения с полным стеком .
Что такое конструктор?
Конструктор — это специальный метод в классе, который имеет то же имя, что и класс. Он особенный, потому что этот метод вызывается автоматически при создании (создании экземпляра) класса. Если конструктор не имеет аргументов, то класс создается с пустыми значениями. Конструктор выполняет задачи инициализации и инициализирует переменные экземпляра класса. Основная цель конструктора - установить значения свойств объекта. Он также используется для выполнения любой операции, которую необходимо выполнить только один раз. Конструктор обычно объявляется в классе как общедоступный статический объект, и объект создается с использованием этого конструктора.
Сколько конструкторов может быть в классе?
Если мы говорим о C++, то количество конструкторов неограничено. Однако могут быть другие ограничения из-за других причин, таких как ограничение памяти вашей машины, сложность класса и т. д. Таким образом, количество конструкторов неограниченно, а количество параметров конструктора — нет. В классе может быть столько конструкторов, сколько вы хотите. Но конструктор по умолчанию обязателен. Любой класс, у которого нет конструктора по умолчанию, является абстрактным классом. Абстрактный класс не может быть создан.
Что такое объектно-ориентированное программирование?
Объектно-ориентированное программирование — это парадигма программирования, которая рассматривает «объекты» как фундаментальные строительные блоки программы или компьютерной системы. Объекты — это программные объекты, которые могут содержать данные в форме полей, часто называемых атрибутами; и код в виде процедур, часто называемых методами. Объектно-ориентированное программирование фокусируется на данных и окружающих их правилах, а не на процедурной логике или потоке управления, как это было принято в ранних языках программирования. ООП имеет дело с данными в целом, а не с набором отдельных элементов.