tek4

Đối tượng và hàm trong C++

by - September. 26, 2021
Kiến thức
Học
<p>Đối tượng v&agrave; h&agrave;m trong C++ l&agrave; hai kh&aacute;i niệm thường gặp trong qu&aacute; tr&igrave;nh lập tr&igrave;nh bởi hai kh&aacute;i niệm n&agrave;y được sử dụng rất nhiều. Trong b&agrave;i viết n&agrave;y, ch&uacute;ng ta sẽ c&ugrave;ng t&igrave;m hiểu về c&aacute;ch truyền c&aacute;c đối tượng cho một h&agrave;m v&agrave; trả về một đối tượng cho một h&agrave;m trong C ++.</p> <p>Trong lập tr&igrave;nh C ++, ch&uacute;ng ta c&oacute; thể truyền c&aacute;c đối tượng cho một h&agrave;m theo c&aacute;ch tương tự như truyền c&aacute;c tham số th&ocirc;ng thường, c&oacute; thể bằng gi&aacute; trị hoặc tham chiếu.</p> <ul> <li>Khi đối tượng được truyền theo gi&aacute; trị th&igrave; một bản sao ch&eacute;p của đối tượng thực sẽ được tạo b&ecirc;n trong h&agrave;m v&agrave; n&oacute; sẽ bị hủy khi kết th&uacute;c h&agrave;m. V&igrave; vậy, bất kỳ thay đổi n&agrave;o được thực hiện trong bản sao ch&eacute;p của đối tượng b&ecirc;n trong h&agrave;m sẽ kh&ocirc;ng được phản &aacute;nh lại trong đối tượng gốc ban đầu.</li> <li>Khi tham chiếu của đối tượng được truyền, gi&aacute; trị địa chỉ của đối tượng đ&oacute; sẽ được truyền cho h&agrave;m, v&igrave; vậy, bất kỳ thay đổi n&agrave;o được thực hiện đối với đối tượng trong h&agrave;m đều được phản &aacute;nh trong đối tượng gốc ban đầu.</li> </ul> <p>V&iacute; dụ: Truyền c&aacute;c đối tượng cho h&agrave;m</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; class sinh_vien { public: int ID_sv; sinh_vien(int a) { ID_sv = a; } }; void in_thong_tin(sinh_vien sv1, sinh_vien sv2) { cout &lt;&lt; "Thong tin sinh vien 1: " &lt;&lt; sv1.ID_sv &lt;&lt; endl; cout &lt;&lt; "Thong tin sinh vien 2: " &lt;&lt; sv2.ID_sv &lt;&lt; endl; } int main() { sinh_vien sv(1), sv1(2); in_thong_tin(sv,sv1); return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Thong tin sinh vien 1: 1 Thong tin sinh vien 2: 2</code></pre> <p>Ở đ&acirc;y, ch&uacute;ng ta đ&atilde; truyền hai đối tượng sinh_vien l&agrave; sv v&agrave; sv1 l&agrave;m tham số cho h&agrave;m in_thong_tin().</p> <p>V&iacute; dụ 2: Trả về đối tượng cho một h&agrave;m</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; class sinh_vien { public: int ID_sv; }; sinh_vien thong_tin(int a) { sinh_vien b; b.ID_sv = a; return b; } int main() { sinh_vien sv; sv = thong_tin(1); cout&lt;&lt; "Thong tin sinh vien: " &lt;&lt; sv.ID_sv; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Thong tin sinh vien: 1</code></pre> <p>Trong chương tr&igrave;nh n&agrave;y, ch&uacute;ng ta đ&atilde; tạo một h&agrave;m thong_tin () trả về một đối tượng của lớp Sinh_vien. Ch&uacute;ng t&ocirc;i đ&atilde; gọi h&agrave;m thong_tin () trong h&agrave;m main (): sv = thong_tin (); Ở đ&acirc;y, ch&uacute;ng t&ocirc;i đang lưu trữ đối tượng được trả về bởi h&agrave;m thong_tin() trong sv.</p> <p><img class="aligncenter wp-image-7272 size-full" style="display: block; margin-left: auto; margin-right: auto;" src="https://tek4.vn/wp-content/uploads/2020/12/Capture-174.png" alt="" width="491" height="445" /></p> <p>Tr&ecirc;n đ&acirc;y l&agrave; mối quan hệ giữa đối tượng v&agrave; h&agrave;m trong C++. Hy vọng mọi người c&oacute; thể nắm được cơ bản v&agrave; &aacute;p dụng v&agrave;o trong chương tr&igrave;nh của m&igrave;nh. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i kế tiếp trong <a href="http://tek4.vn">tek4</a> nh&eacute;!</p>