>백엔드 개발 >C++ >기본 유형을 객체로 변환하는 C++ 프로그램

기본 유형을 객체로 변환하는 C++ 프로그램

PHPz
PHPz앞으로
2023-08-26 19:29:031226검색

기본 유형을 객체로 변환하는 C++ 프로그램

C++의 기본 데이터 유형은 int, float, double 등과 같이 언어 자체에서 미리 정의된 데이터 유형입니다. 객체는 클래스의 인스턴스이고 C++는 객체지향 언어이므로 기본 데이터 유형과 객체 간의 변환이 필요합니다. 클래스는 데이터 유형에 대한 아키텍처 계획 역할을 합니다. 이는 데이터를 구체적으로 설명하지는 않지만 클래스 이름이 의미하는 바, 즉 해당 클래스의 개체 모양과 해당 클래스에서 수행할 수 있는 작업을 지정합니다.

C++ 언어 컴파일러에서는 원시 데이터 유형을 객체로 변환하는 것이 명확하게 정의되어 있지 않으므로 원시 데이터 유형을 객체로 변환하려면 프로그래머가 메커니즘을 정의해야 합니다. 기본 유형이 특정 객체로 변환되는 방식은 사용자 정의 클래스의 생성자에서 정의됩니다. 이 문제를 더 잘 이해하기 위해 예를 들어 보겠습니다.

우리가 해결하고 있는 문제는 무게를 그램 단위로 킬로그램과 그램으로 변환하는 것입니다. 이를 위해 두 개의 정수 멤버 kg과 gm을 사용하여 사용자 정의 클래스 가중치를 정의합니다. "kg"은 주어진 무게의 킬로그램 값이고 "gm"은 변환할 1kg 미만의 남은 무게입니다. 이 문제를 해결하기 위한 알고리즘은 아래와 같습니다.

문법

변환 구문은 다음과 같습니다 -

으아아아

알고리즘

  • 입력 가중치를 정수 변수에 넣습니다.
  • 클래스 가중치의 개체를 만듭니다.
  • 클래스 객체에 정수 값 할당;
  • 객체의 표시 기능을 호출합니다.

정의된 클래스의 생성자에서 다음을 수행합니다.

  • 입력 값을 1000으로 나누어 킬로그램(kg) 값을 몫으로 얻습니다.
  • 입력 값을 1000으로 나누어 나머지를 그램(gm) 단위로 구합니다.

앞서 언급했듯이 모든 변환 메커니즘은 생성자 내에서 정의되어야 합니다. 생성자는 매개변수화되어야 하며 원래 소스 값은 매개변수로 생성자에 전달되어야 합니다. 문제의 소스코드는 다음과 같습니다.

으아아아

출력

으아아아

예제에서 입력은 주 함수 내부에 있으며 "ip"입니다. 클래스 가중치 "w"의 객체도 있습니다. 방금 클래스 객체에 정수 값을 할당하고 해당 객체의 매개변수화된 생성자에 대한 암시적 호출을 호출했습니다. 생성자에 정의된 함수가 실행되었고, 마지막으로 show 함수를 호출하여 출력이 표시됩니다.

결론

이 예에서는 기본 유형에서 사용자 정의 클래스 객체로의 변환이 생성자에 대한 암시적 호출을 사용하여 수행됩니다. 생성자가 객체를 인스턴스화하기 위해 여러 기본 값을 요구할 때까지는 괜찮습니다. 따라서 생성자를 명시적으로 호출한 다음 원래 값을 개체 생성자에 매개 변수로 전달해야 합니다. 객체에서 기본 유형으로 변환하는 경우에는 그 반대가 적용되며 완료하려면 더 복잡한 프로세스가 필요합니다.

위 내용은 기본 유형을 객체로 변환하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제