C 언어
생성자는 클래스의 특수 멤버 함수로, 객체가 생성될 때 자동으로 호출됩니다. 이는 값이나 기본 설정으로 개체를 초기화하는 데 사용됩니다.
C++의 기본 인수를 사용하면 함수 또는 생성자 매개변수에 대한 기본값을 지정할 수 있습니다.
기본 인수가 있는 생성자는 선택적 매개변수를 사용하여 객체를 생성할 수 있는 생성자입니다. 매개변수의 기본값이 제공되는 경우 사용자가 값을 전달하지 않으면 기본값이 사용됩니다.
기본 인수가 있는 생성자에 대한 구문은 다음과 같습니다.
class ClassName {
public:
ClassName(parameter_Type parameter_Name = default_Value,
parameter_Type2 parameter_Name2 = default_Value2);
};
기본 인수가 있는 생성자의 다음 예는 다음과 같습니다.
#include <iostream>
using namespace std;
// Function with a default argument
void printMessage(string message = "Hello, Tutorialspoint Learner") {
cout << message << endl;
}
int main() {
// Calling the function without an argument
printMessage(); // Prints the default message: "Hello, World!"
// Calling the function with a custom argument
printMessage("Hi, there!"); // Prints the custom message: "Hi, there!"
return 0;
}
Hello, Tutorialspoint Learner Hi, there!
여러 기본 인수가 있는 생성자는 사용자에게 둘 이상의 매개변수에 대한 기본값을 지정할 수 있는 액세스 권한을 제공합니다. 이는 모든 인수 조합을 전달할 수 있는 더 많은 유연성과 액세스를 제공합니다.
다음은 여러 기본 인수가 있는 생성자의 예입니다:
#include <iostream>
using namespace std;
class Box {
public:
int length, width, height;
// Constructor with multiple default arguments
Box(int l = 5, int w = 10, int h = 2) { // Default values for length, width, and height
length = l;
width = w;
height = h;
}
void display() {
cout << "Length: " << length << ", Width: " << width << ", Height: " << height << endl;
}
};
int main() {
// Creating objects with different numbers of arguments
Box box1;
Box box2(15);
Box box3(15, 20);
Box box4(15, 20, 25);
// Displaying the objects' values
box1.display();
box2.display();
box3.display();
box4.display();
return 0;
}
Length: 5, Width: 10, Height: 2 Length: 15, Width: 10, Height: 2 Length: 15, Width: 20, Height: 2 Length: 15, Width: 20, Height: 25
일반 함수와 유사하지만 객체 생성 시 더 많은 유연성과 편의성을 제공합니다.
다음에서는 모든 주요 기능에 대해 설명하겠습니다.
여기서 생성자는 하나 이상의 매개변수에 대한 기본값을 가질 수 있으며, 이는 호출자가 인수를 제공하지 않을 때 사용할 수 있으며 객체를 생성하는 다양한 방법을 허용합니다.
모든 인수 조합에 대해 생성자를 로드해야 할 수도 있으며, 이로 인해 코드가 더 커지게 됩니다. 그러나 기본 인수를 사용하면 생성자를 한 번만 작성할 수 있으며 다양한 경우를 자동으로 처리합니다.
기본값 매개변수가 여러 개인 경우 오른쪽부터 기본값 제공을 시작하면 중간에 있는 기본 인수를 건너뛸 수 없습니다.
구문
Box(int l = 1, int w); // Invalid: 'w' has no default, but 'l' does.
클래스에 const 멤버가 있는 경우 초기화를 더 쉽게 하기 위해 생성자에 기본 인수를 제공할 수 있습니다.
구문
class Box {
public:
const int length, width;
Box(int l = 5, int w = 10) : length(l), width(w) {}
};
이 생성자는 기본 인수(길이 =5 및 너비 =10)를 사용하여 const 멤버를 초기화합니다.
C 언어
작성자:John Nanry, Fast Radius 공동 설립자 겸 총괄 책임자 사물 인터넷(IoT)은 인터넷, 데이터 처리 및 고급 분석의 힘을 결합하고 인터넷에 연결될 것이라고 예상하지 못한 개체에 적용하는 글로벌 추세입니다. IoT를 통해 냉장고는 쇼핑 목록을 다시 읽고 에어컨은 다양한 환경 요인에 따라 스스로 조정할 수 있습니다. 소비자 IoT가 대중화되면서(McKinsey에 따르면 1초마다 127개의 새로운 IoT 장치가 인터넷에 연결됨) 제조업체와 공급망 관리자는 연결된 장치가 더 나은 비즈니스 결과를 이끌어낼 수 있는
CompoTech(체코 공화국 Sušice)는 최근 강철 대신 지정할 수 있는 원형 튜브 및 사각형 모양 옵션 및 크기의 경량 탄소 미세화(CF) 에폭시 합성 빔의 새로운 표준 제품군을 출시했습니다. CompoTech는 표준 사각 빔이 빔 길이를 따라 축 방향으로 연속 섬유를 배치하는 자동화된 로봇 지원 필라멘트 배치 기술을 사용하여 흑연과 PAN 탄소 섬유로 생산된다고 말합니다. 그 결과 동일한 치수의 기존 필라멘트 권선 빔에 비해 축 방향으로 10-15% 더 높은 강성과 최대 50% 더 높은 굽힘 강도를 가진 고강도 탄소 에폭