Copy constructor là gì?

Noun Programming
Hàm khởi tạo sao chép, Hàm dựng sao chép

Hàm khởi tạo sao chép (copy constructor) là một hàm thành viên (member function) khởi tạo (initialize) một đối tượng (object) bằng cách sử dụng một đối tượng khác của cùng một lớp (class). Một hàm khởi tạo sao chép (copy constructor ) có nguyên mẫu hàm (function prototype) chung như sau:

 ClassName (const ClassName &old_obj); 

Sau đây là một ví dụ đơn giản về hàm khởi tạo sao chép (copy constructor) trong C++.


#include
using namespace std;
 
class Point
{
private:
    int x, y;
public:
    Point(int x1, int y1) { x = x1; y = y1; }
 
    // Copy constructor
    Point(const Point &p1) {x = p1.x; y = p1.y; }
 
    int getX()            {  return x; }
    int getY()            {  return y; }
};
 
int main()
{
    Point p1(10, 15); // Normal constructor is called here
    Point p2 = p1; // Copy constructor is called here
 
    // Let us access values assigned by constructors
    cout 

Output


p1.x = 10, p1.y = 15
p2.x = 10, p2.y = 15 

Learning English Everyday