C 언어
이 자습서에서는 예제를 통해 C++ 유형 변환의 기본 사항을 배웁니다.
C++를 사용하면 한 유형의 데이터를 다른 유형의 데이터로 변환할 수 있습니다. 이것을 유형 변환이라고 합니다.
C++에는 두 가지 유형의 변환이 있습니다.
컴파일러에서 자동으로 수행되는 형식 변환을 암시적 형식 변환이라고 합니다. 이러한 유형의 변환을 자동 변환이라고도 합니다.
암시적 유형 변환의 두 가지 예를 살펴보겠습니다.
<시간>
// Working of implicit type-conversion
#include <iostream>
using namespace std;
int main() {
// assigning an int value to num_int
int num_int = 9;
// declaring a double type variable
double num_double;
// implicit conversion
// assigning int value to a double variable
num_double = num_int;
cout << "num_int = " << num_int << endl;
cout << "num_double = " << num_double << endl;
return 0;
}
출력
num_int = 9 num_double = 9
프로그램에서 int
를 할당했습니다. 데이터를 double
로 변수.
num_double = num_int;
여기서 int
값은 자동으로 double
로 변환됩니다. num_double에 할당되기 전에 컴파일러에 의해 변하기 쉬운. 이것은 암시적 유형 변환의 예입니다.
//Working of Implicit type-conversion
#include <iostream>
using namespace std;
int main() {
int num_int;
double num_double = 9.99;
// implicit conversion
// assigning a double value to an int variable
num_int = num_double;
cout << "num_int = " << num_int << endl;
cout << "num_double = " << num_double << endl;
return 0;
}
출력
num_int = 9 num_double = 9.99
프로그램에서 double
을 할당했습니다. 데이터를 int
로 변수.
num_double = num_int;
여기에서 double
값은 자동으로 int
으로 변환됩니다. num_int에 할당되기 전에 컴파일러에 의해 변하기 쉬운. 이것은 또한 암시적 유형 변환의 예입니다.
참고: int
이후 위의 예에서 소수점 이하 자릿수는 잘립니다.
위의 예에서 보았듯이 한 데이터 유형에서 다른 데이터 유형으로 변환하면 데이터가 손실되기 쉽습니다. 이것은 더 큰 유형의 데이터가 더 작은 유형의 데이터로 변환될 때 발생합니다.
<그림> <시간>사용자가 수동으로 데이터를 한 유형에서 다른 유형으로 변경하는 것을 명시적 변환이라고 합니다. . 이러한 유형의 변환을 유형 캐스팅이라고도 합니다. .
C++에서 명시적 변환을 사용할 수 있는 세 가지 주요 방법이 있습니다. 그들은:
이름에서 알 수 있듯이 이러한 유형의 캐스팅은 C 프로그래밍 언어에서 선호됩니다. . 캐스트 표기법이라고도 합니다. .
이 스타일의 구문은 다음과 같습니다.
(data_type)expression;
예를 들어,
// initializing int variable
int num_int = 26;
// declaring double variable
double num_double;
// converting from int to double
num_double = (double)num_int;
<시간> 데이터를 한 유형에서 다른 유형으로 변환하기 위해 표기법과 같은 기능을 사용할 수도 있습니다.
이 스타일의 구문은 다음과 같습니다.
data_type(expression);
예를 들어,
// initializing int variable
int num_int = 26;
// declaring double variable
double num_double;
// converting from int to double
num_double = double(num_int);
<시간>
#include <iostream>
using namespace std;
int main() {
// initializing a double variable
double num_double = 3.56;
cout << "num_double = " << num_double << endl;
// C-style conversion from double to int
int num_int1 = (int)num_double;
cout << "num_int1 = " << num_int1 << endl;
// function-style conversion from double to int
int num_int2 = int(num_double);
cout << "num_int2 = " << num_int2 << endl;
return 0;
}
출력
num_double = 3.56 num_int1 = 3 num_int2 = 3
C 스타일 유형 변환을 모두 사용했습니다. 및 유형 변환을 위한 함수 스타일 캐스팅 그리고 그 결과를 보여주었다. 동일한 작업을 수행하기 때문에 둘 다 동일한 출력을 제공합니다.
<시간>이 두 가지 유형 캐스팅 외에도 C++에는 유형 변환을 위한 네 가지 연산자도 있습니다. 유형 변환 연산자라고 합니다. . 그들은:
static_cast
dynamic_cast
const_cast
reinterpret_cast
이 캐스트에 대해서는 이후 자습서에서 배울 것입니다.
<시간>권장 튜토리얼:
C 언어
C++ 상속 이 튜토리얼에서는 예제를 통해 C++의 상속에 대해 배웁니다. 상속은 C++에서 객체 지향 프로그래밍의 핵심 기능 중 하나입니다. 기존 클래스(기본 클래스)에서 새 클래스(파생 클래스)를 만들 수 있습니다. 파생 클래스는 기본 클래스의 기능을 상속합니다. 고유한 추가 기능을 가질 수 있습니다. 예를 들어, class Animal { // eat() function // sleep() function }; class Dog : public Animal { // bark() function };
C에서 Typecasting이란 무엇입니까? Typecasting은 하나의 데이터 유형을 다른 데이터 유형으로 변환하는 것입니다. C 언어에서는 데이터 변환 또는 유형 변환이라고도 합니다. C 프로그래밍에 도입된 중요한 개념 중 하나입니다. C 프로그래밍은 두 가지 유형의 유형 캐스팅 작업을 제공합니다. 암시적 유형 캐스팅 명시적 유형 캐스팅 암시적 유형 캐스팅 암시적 유형 캐스팅은 원래 의미를 잃지 않고 데이터 유형을 변환하는 것을 의미합니다. 이러한 유형 변환은 데이터 유형을 없이 변경하려는 경우에 필수적입니다. 변수