산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> C 언어

C++ 함수에서 객체 전달 및 반환하기

C++ 함수에서 객체 전달 및 반환하기

이 튜토리얼은 C++에서 함수의 매개변수로 객체를 전달하고, 함수에서 객체를 반환하는 방법을 실용적인 예제와 모범 사례와 함께 설명합니다.

예제 1: 함수에 객체 전달하기

// 두 학생의 평균 점수 계산 C++ 프로그램 #include <iostream> using namespace std; class Student { public: double marks; // marks 초기화 생성자 Student(double m) : marks(m) {} }; // Student 객체를 매개변수로 받는 함수 void calculateAverage(Student s1, Student s2) { double average = (s1.marks + s2.marks) / 2.0; cout << "Average Marks = " << average << endl; } int main() { Student student1(88.0), student2(56.0); calculateAverage(student1, student2); return 0; } 

출력

Average Marks = 72

여기서 두 Student 객체 student1과 student2를 calculateAverage()에 값으로 전달했습니다. 값 전달은 복사본을 생성하므로 객체가 크면 참조 전달을 고려하세요.

C++ 함수에서 객체 전달 및 반환하기

예제 2: 함수에서 객체 반환하기

#include <iostream> using namespace std; class Student { public: double marks1, marks2; }; // Student 객체를 반환하는 함수 Student createStudent() { Student student; student.marks1 = 96.5; student.marks2 = 75.0; cout << "Marks 1 = " << student.marks1 << endl; cout << "Marks 2 = " << student.marks2 << endl; return student; // NRVO가 복사 최적화 } int main() { Student student1; student1 = createStudent(); return 0; } 

출력

Marks 1 = 96.5 Marks 2 = 75
C++ 함수에서 객체 전달 및 반환하기

함수 createStudent()가 Student 인스턴스를 생성해 값을 출력하고 반환합니다. main()에서 반환된 객체가 student1에 대입됩니다. 현대 컴파일러는 반환 값 최적화(RVO)로 불필요한 복사를 피합니다.

C 언어

  1. 3D 프린팅 3대 필수 단계 완벽 해설
  2. C# 클래스와 객체: 견고한 OOP를 위한 기초 다지기
  3. C++ 클래스와 객체: 객체지향 프로그래밍 실전 가이드
  4. C++ 메모리 관리 마스터: new와 delete 전문가 활용법
  5. C++ 상속 접근 지정자: public, protected, private 완벽 이해
  6. C++ 프렌드 함수와 프렌드 클래스: 접근 제어 마스터하기
  7. C 프로그래밍: 주소와 포인터를 함수에 전달하기 – 실전 가이드
  8. C++ 함수 완전 정복: 실전 코드 예제로 이해하기
  9. 공급망 보안 강화: 사이버 범죄, 자연재해 등 리스크 대응 전략
  10. C++ 날짜와 시간 완벽 가이드: ctime 라이브러리 활용