Các hàm tạo lớp C ++

C Class Constructors



Constructors giống như các hàm. Chúng được sử dụng để khởi tạo các giá trị và các đối tượng của lớp. Các hàm tạo này được khởi tạo khi đối tượng của một lớp được tạo. Hàm tạo trực tiếp không trả về bất kỳ giá trị nào. Để nhận giá trị của hàm tạo, chúng ta cần mô tả một hàm riêng biệt vì hàm tạo không có bất kỳ kiểu trả về nào. Hàm tạo khác với hàm đơn giản theo những cách khác nhau. Một hàm tạo được tạo khi đối tượng được tạo. Nó được xác định trong phân đoạn công khai của lớp.

Trong bài viết này, chúng tôi sẽ đề cập đến tất cả các loại hàm tạo này với các ví dụ.







ví dụ 1

Đây là một minh họa của một phương thức khởi tạo mặc định. Như chúng ta biết rằng các hàm tạo được mặc định tạo tự động khi chúng ta tạo một đối tượng của một lớp. Đây được gọi là sự sáng tạo ngầm. Các hàm tạo có cùng tên là tên của lớp. Hãy xem xét một tệp có mã c ++ của hàm tạo vì chúng ta biết rằng lớp có hai tùy chọn, riêng tư và công khai. Phần private chứa các biến dữ liệu, trong khi phần public dành cho các hàm được truy xuất bởi bất kỳ đối tượng nào. Vì vậy hàm tạo cũng được định nghĩa trong phần công khai.



Số nguyên()

{

NS=năm mươi;

=hai mươi;

};

Trong hàm tạo này, các giá trị được gán cho các biến. Nếu chúng ta muốn tìm nạp các giá trị dưới dạng đầu ra, chúng ta phải in chúng trong chương trình chính.







Sau khi xác định phương thức khởi tạo, lớp được đóng lại. Trong khi vào chương trình chính, chúng ta sẽ in các giá trị bằng cách sử dụng một đối tượng. Đối tượng luôn truy cập các hàm tạo vì đây là các phần của lớp. Tạo đối tượng rất đơn giản. Nó được thực hiện bằng cách giới thiệu nó với tên của lớp. Đó là một số nguyên trong ví dụ này. Giá trị sẽ được tìm nạp thông qua phương thức dấu chấm. tức là a.x.

Chúng ta có thể thấy đầu ra của mã nguồn từ thiết bị đầu cuối trong Ubuntu. Cách tiếp cận được sử dụng để lấy đầu ra khá dễ dàng. Đầu tiên, mã được biên dịch, và sau đó nó được thực thi. Chúng tôi sử dụng trình biên dịch G ++ cho quá trình biên dịch. Cũng giống như trong trường hợp của C, chúng tôi sử dụng GCC.



$ G++ -hoặc tệpc tệpc.NS

./filec

-O được sử dụng để lưu kết quả đầu ra trong tệp.

Ví dụ 2

Trong minh họa này, chúng ta sẽ giải thích các hàm tạo tham số hóa. Không giống như ví dụ trước, chúng ta cũng có thể truyền các đối số cho các hàm tạo từ chương trình chính. Khi đối tượng được tạo, các giá trị này được tự động chuyển cho các biến có trong hàm tạo để nhận giá trị. Một số công dụng của các hàm tạo được tham số hóa là.

  • Nó được sử dụng để khởi tạo các biến khác nhau với các giá trị khác nhau bên trong các hàm tạo khi nó được khởi tạo.
  • Nó được sử dụng trong quá trình nạp chồng phương thức khởi tạo. Nó được định nghĩa ở phần sau của bài báo.

Bây giờ chúng ta hãy xem xét hình minh họa mà chúng ta đã mô tả để xây dựng khái niệm này. Lớp có tên là số nguyên, vì vậy chắc chắn, tên của hàm tạo cũng sẽ giống nhau. Trong các tham số của hàm tạo, có hai giá trị kiểu số nguyên. Chúng được khởi tạo để chấp nhận các giá trị được gửi từ chương trình chính dưới dạng một lời gọi hàm.

Số nguyên( NSNS,NS)

{

ĐẾN=NS;

NS=;

};

Trong ví dụ trước, các biến bên trong hàm tạo đã được cung cấp các giá trị. Trong khi trong hàm tạo này, các biến được gán với các biến có giá trị.

Nếu chúng ta muốn lấy hiển thị, chúng ta cần xác định một hàm sẽ trả về giá trị vì không thể truy cập trực tiếp biến khởi tạo đó từ hàm tạo.

NSgetX()

{

trở lạiđến;

};

Bây giờ chúng ta sẽ xem phần chính của chương trình. Ở đây khi đối tượng được tạo, bạn có thể thấy các giá trị trong phần tham số.

Số nguyên v(70,55); {ngầm hiểu}

số nguyên v=số nguyên(10,mười lăm); {rõ ràng}

Và để hiển thị kết quả, chúng ta sẽ gọi các hàm được tạo bên trong lớp bằng cách sử dụng đối tượng. tức là v.getx ().

Phương pháp tìm nạp bản ghi giống như đã giới thiệu trước đây.

Ví dụ 3

Ví dụ này đề cập đến việc sao chép một phương thức khởi tạo của một lớp. Một phương thức khởi tạo được sao chép được sử dụng để khởi tạo đối tượng với một đối tượng khác của một lớp tương tự mà nó thuộc về. Hàm tạo này sao chép dữ liệu có trong đối tượng này sang đối tượng kia. Các tham số của hàm tạo này chứa địa chỉ của một đối tượng của lớp. Hãy xem xét các ví dụ đã cho, trong đó chúng tôi đã giới thiệu hai biến có cùng kiểu dữ liệu để chúng có thể truy cập bằng bất kỳ hàm nào bên trong lớp. Hàm tạo sẽ nhận các giá trị thông qua biến. Đồng thời, hàm tạo được sao chép sẽ chỉ nhận đối tượng. Và với sự trợ giúp của đối tượng này, các giá trị sẽ được tìm nạp.

tường(tường&phản đối)

{

Chiều dài=phản đối.chiều dài;

Chiều cao=phản đối.Chiều cao;

}

Chúng ta phải tính diện tích, vì vậy hàm cho phép tính này được xác định ở đây. Điều này sẽ trả về giá trị cho hàm chính khi nó được gọi. Bây giờ chúng ta sẽ quan sát chương trình chính của mã

Lời gọi hàm của hàm tạo được sao chép sẽ như thế này.

Tường tường2=wall1;

Đối tượng gọi hàm tạo được sao chép và dữ liệu thông qua đối tượng đầu tiên được sao chép qua nó. Hơn nữa, chúng ta sẽ gọi hàm để tính diện tích thông qua cả hai đối tượng.

Từ đầu ra, bạn có thể thấy rằng kết quả từ cả hai hàm tạo là như nhau. Nó có nghĩa là toàn bộ dữ liệu đã được đối tượng sao chép thành công.

Ví dụ 4

Đây là một minh họa về nạp chồng phương thức khởi tạo. Nó xảy ra khi chúng ta phải sử dụng nhiều hơn một hàm duy nhất bên trong lớp. Nạp chồng hàm tạo tuân theo hướng dẫn của các hàm tạo được tham số hóa. Tất cả các hàm tạo trong lớp có tên tương tự như lớp. Nhưng mỗi hàm tạo được gán các tham số khác nhau. Mỗi hàm tạo được gọi theo đối số khi chúng ta tạo đối tượng.

Hãy xem xét một ví dụ đã cho, trong đó chúng ta đã sử dụng ba hàm tạo. Một là không có bất kỳ lập luận nào. Cái thứ hai là với một đối số, trong khi cái thứ ba là với hai đối số. Hình minh họa này tương tự như hình trước. Khi chúng ta tính toán diện tích trong hàm riêng biệt được mô tả bên trong lớp.

// Hàm tạo có hai đối số

hình dạng(NSNS,NS)

{

đến=NS;

NS=;

};

Bây giờ, chuyển sang chương trình chính, chúng ta có thể thấy rằng khi chúng ta khởi tạo đối tượng lớp, phương thức khởi tạo không có đối số được gọi theo mặc định. Bây giờ chúng ta cần gọi các hàm tạo khác với các đối tượng khác nhau có các đối số khác nhau.

Hình dạng;

Hình dạng s2(số 8);

Hình dạng s3(4,2);

Hàm mà qua đó chúng ta có thể hiển thị giá trị được gọi thông qua cùng một đối tượng được tạo.

Để xem đầu ra, chúng tôi sẽ sử dụng cùng một phương thức đầu cuối lệnh bằng cách biên dịch và thực thi mã có trong tệp.

Từ đầu ra, chúng ta có thể thấy rằng câu trả lời là giống nhau đối với mỗi hàm tạo.

Phần kết luận

Trong hướng dẫn này, chúng ta đã thấy những kiến ​​thức cơ bản về các hàm tạo và chức năng của chúng, bao gồm cả cách nạp chồng chúng. Các hàm tạo được sử dụng để khởi tạo các biến với các giá trị.