본문 바로가기

전체 글

(71)
[C++] 2-10 클래스 객체 반환 (return) 객체 반환 함수를 홈추할 때 함수에서 객체(object)를 전달할 수 있듯이 역으로 객체를 함수의 호출 측에 반환할 수 있다. 이때 함수의 데이터형은 해당 클래스형으로 지정해야 하며, return문을 사용하여 그 형의 객체를 호출측에 반환한다. 예제 #include using namespace std; class myclass { private: int a, b; public: void set(int i, int j) { a = i; b = j; } int sum_return() { return a + b; } }; myclass input();//일반 함수 input()의 원형 선언 int main() { myclass ob; ob = input();//일반 함수 input()의 호출 // 반환된 객체..
[C++] 2-9 함수의 객체 전달 (value 및 포인터) 함수의 객체 전달 함수를 호출하는 경우에 데이터를 매개변수로 함수에 넘거질 수 있듯이 클래스 객체들을 함수에 전달할 수 있다. 이때 매개변수는 call by value 방식으로 함수에 전달된다. 즉, 객체의 복사본은 stack이라는 메모리 영역에 저장하여 매개변수로 전달하기 때문에 함수의 호출이 늦어지게 된다. 함수의 매개변수로 구주체나 객체를 사용하는 경우에는 call by reference 방식을 사용하면 함수 호출 속도를 향상시킬 수 있다. 예제 1 #include using namespace std; class myclass { private: int a; public: void set(int i) { a = i; } void re_set(int i) { a = i; } int output_ret..
[C++] 2-8 클래스 객체의 대입 객체의 대입 두 개의 객체 ob1과 ob2가 동일한 클래스형으로 선언된 경우 하나의 객체를 다른 객체에 대입할 수 있다. 예를 들어 객체 ob2을 객체 ob1에 대입하면 객체 ob2의 모든 데이터 멤버들이 비트 단위로 객체 ob1의 대응되는 멤버에 복사된다. 예제 #include using namespace std; class myclass { private: int a, b; public: void set(int i, int j) { a = i; b = j;//클래스 내부에 멤버 함수를 정의 } void output() {//클래스 내부에 멤버 함수를 정의 cout