1. 정의
복사 생성자
-> '값'이 복사되는 것임.
같은 값을 갖는 여러 Object, Instance 생성시 유용.
2. 구문
const student &s 처럼 const reference사용 (원본의 data를 변경할 일은 없기 때문에)
3. 예제
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #include <iostream> using namespace std; class student{ private: int score; string name; public: student(){ //Default Constructor this->score = 0; this->name = " "; } student(string name, int score){ this->name = name; this->score = score; } student(const student &s){ //copy Constructor this->name = s.name; this->score = s.score; } void showInfo(){ cout << "학생명: " << this->name << endl << "점수: " << this->score << endl; }; }; int main(void) { student s1("카미", 50); s1.showInfo(); student s2(s1); /*student s2 = s1; //copy Constructor auto-calling s2.showInfo(); printf("s1의 주소 : %p \ns2의 주소 : %p\n", &s1, &s2); s2 = s1; */ s2.showInfo(); //cout << "s2에 s1객체를 복붙!" << endl; return 0; } http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter |
'C > C++' 카테고리의 다른 글
C++ Naming Rule (Feat. Google C++ Guide) (0) | 2020.03.08 |
---|---|
cmath, math.h (feat. 백준 3053 택시 기하학) (0) | 2019.12.08 |
character array vs String (0) | 2019.11.10 |
[백준 2752] 세 수 정렬하기 (0) | 2019.10.28 |
[기초 100제] 98번 설탕과자 뽑기 (0) | 2019.10.27 |