Параметризованный конструктор в 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++ . Затем становится возможным передать аргументы этому объекту. Процедура очень похожа на передачу значения функции. Это также похоже на передачу параметризованных значений объектам.

Объекты, определенные в теле конструктора, инициализируются с использованием параметров. Значения должны передаваться в качестве аргументов функции конструктора всякий раз, когда объявляется параметризованный конструктор. Эти конструкторы можно вызывать как явно, так и неявно. Традиционный способ объявления объекта не работает.

Примечание: Типы вызовов-

  1. Явный вызов — Пример e1= Пример (0,10)
  2. Неявный вызов – Пример 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++, то количество конструкторов неограничено. Однако могут быть другие ограничения из-за других причин, таких как ограничение памяти вашей машины, сложность класса и т. д. Таким образом, количество конструкторов неограниченно, а количество параметров конструктора — нет. В классе может быть столько конструкторов, сколько вы хотите. Но конструктор по умолчанию обязателен. Любой класс, у которого нет конструктора по умолчанию, является абстрактным классом. Абстрактный класс не может быть создан.

Что такое объектно-ориентированное программирование?

Объектно-ориентированное программирование — это парадигма программирования, которая рассматривает «объекты» как фундаментальные строительные блоки программы или компьютерной системы. Объекты — это программные объекты, которые могут содержать данные в форме полей, часто называемых атрибутами; и код в виде процедур, часто называемых методами. Объектно-ориентированное программирование фокусируется на данных и окружающих их правилах, а не на процедурной логике или потоке управления, как это было принято в ранних языках программирования. ООП имеет дело с данными в целом, а не с набором отдельных элементов.