본문 바로가기

묵시적 형변환2

C++ 언어 기초 (10) - 연산자 다중정의 II ▣ 대입 및 이동 대입 연산자 ● 대입 연산자( = )란? ▷ 묵시적 대입 연산자: 오른쪽 피연산자 데이터 멤버를 왼쪽 피연산자에 그대로 복사 ▷ 객체에 동적할당된 메모리를 가리키는 포인터가 포함되어 있으면 -> 얕은 복사로 인해 의도하지 않은 공유 상태의 문제가 발생할 수 있다. -> 깊은 복사를 할 수 있게 대입 연산자를 다중정의 해야 한다. ● 대입 연산자 다중정의 예시 ▷ VecF 클래스 VecF& VecF::operator=(const VecF& fv) { //VecF& 참조로 반환한다. if (n != fv.n) {//벡터의 크기가 다르면 delete[] arr;//기존 메모리 반환 arr = new float[n = fv.n];//새로 메모리 할당 } memcpy(arr, fv.arr, si.. 2020. 9. 3.
[C++] 복소수 Complex 연산 클래스 만드는 방법 ▣ 복소수(complex number) ● 복소수는 실수부와 허수부로 구성된다. ▷ 복소수의 표현 : a + jb ( a : 실수부 값, b : 허수부 값) ● 켤레복소수 (complex conjugate) ▷ 켤레복소수의 표현 : a - jb (허수부의 부호가 반대) ● 복소수 연산 ▷ 덧셈은 쉬우니까 넘어가고 ▷ 곱셈은 (a + jb)(d + je) = (ad - be) + j(ae + bd) ▷ 나눗셈은 (a + jb) / (d + je) = (ad + be) / (d^2+e^2) + j (bd - ae) / (d^2+e^2) ▣ 복소수 클래스 ● Complexx 클래스 ▷ 복소수를 표현하는 클래스 ▷ 복소수의 사칙연산과 켤레복소수를 구하는 멤버함수를 갖고 있다. ▷ 실수부의 값이 a, 허수부의 값.. 2020. 8. 28.
반응형