tek4

Các kiểu hàm trong C++

by - September. 26, 2021
Kiến thức
Học
<p>Trong b&agrave;i trước, ta đ&atilde; đề cập tới c&aacute;c kh&aacute;i niệm v&agrave; v&iacute; dụ cơ bản về h&agrave;m trong C++. C&aacute;c bạn c&oacute; thể thao khảo c&aacute;c kiến thức trong b&agrave;i trước tại <a href="https://tek4.vn/ham-trong-c/">đ&acirc;y</a>. Trong b&agrave;i n&agrave;y, ta sẽ t&igrave;m hiểu về c&aacute;c c&aacute;ch tiếp cận kh&aacute;c nhau về sử dụng h&agrave;m. Để hiểu r&otilde; hơn về c&aacute;c tham số v&agrave; gi&aacute; trị trả về của c&aacute;c h&agrave;m, c&aacute;c h&agrave;m do người d&ugrave;ng định nghĩa c&oacute; thể được ph&acirc;n loại th&agrave;nh 4 kiểu trong C++:</p> <ol> <li>H&agrave;m kh&ocirc;ng c&oacute; tham số v&agrave; kh&ocirc;ng c&oacute; gi&aacute; trị trả về.</li> <li>H&agrave;m kh&ocirc;ng c&oacute; tham số nhưng c&oacute; gi&aacute; trị trả về.</li> <li>H&agrave;m c&oacute; tham số nhưng kh&ocirc;ng c&oacute; gi&aacute; trị trả về.</li> <li>H&agrave;m c&oacute; tham số v&agrave; gi&aacute; trị trả về.</li> </ol> <p>V&iacute; dụ 1: H&agrave;m kh&ocirc;ng c&oacute; tham số v&agrave; kh&ocirc;ng c&oacute; gi&aacute; trị trả về.</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; void xin_chao() { cout &lt;&lt; "Xin chao!"; } int main() { xin_chao(); return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Xin chao!</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, void l&agrave; kiểu dữ liệu sẽ kh&ocirc;ng nhận gi&aacute; trị trả về. B&ecirc;n cạnh đ&oacute;, h&agrave;m xin_chao() kh&ocirc;ng nhận bất kỳ tham số n&agrave;o trong dấu ngoặc.</p> <p>V&iacute; dụ 2: H&agrave;m kh&ocirc;ng c&oacute; tham số nhưng c&oacute; gi&aacute; trị trả về.</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int phep_nhan() { return (4*5); } int main() { int ket_qua; ket_qua = phep_nhan(); cout &lt;&lt; ket_qua; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>20</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta thực hiện ph&eacute;p nh&acirc;n trong h&agrave;m đ&atilde; được định nghĩa l&agrave; phep_nhan(). V&agrave; gi&aacute; trị trả về của h&agrave;m l&agrave; 20. Tuy nhi&ecirc;n, h&agrave;m n&agrave;y kh&ocirc;ng nhận tham số.</p> <p>V&iacute; dụ 3: H&agrave;m c&oacute; tham số nhưng kh&ocirc;ng c&oacute; gi&aacute; trị trả về.</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; void xin_chao(char a, char b) { cout &lt;&lt; "Xin chao " &lt;&lt; a &lt;&lt; " va " &lt;&lt; b; } int main() { char a = 'A'; char b = 'B'; xin_chao(a, b); return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>Xin chao A va B</code></pre> <p>Trong đoạn m&atilde; tr&ecirc;n, ta thực hiện in ra ch&agrave;o hai người A v&agrave; B. Tuy nhi&ecirc;n, h&agrave;m xin_chao() kh&ocirc;ng c&oacute; gi&aacute; trị trả về.</p> <p>V&iacute; dụ 4: H&agrave;m c&oacute; tham số v&agrave; gi&aacute; trị trả về</p> <pre class="language-cpp"><code>#include &lt;iostream&gt; using namespace std; int phep_nhan(int so_1, int so_2) { return (so_1*so_2); } int main() { int a =4; int b = 5; int ket_qua; ket_qua = phep_nhan(a,b); cout &lt;&lt; ket_qua; return 0; }</code></pre> <p>Kết quả:</p> <pre class="language-markup"><code>20</code></pre> <p>Trong h&agrave;m phep_nhan(), ta đ&atilde; truyền hai tham số c&oacute; kiểu dữ liệu l&agrave; int v&agrave; trả về gi&aacute; trị l&agrave; ph&eacute;p nh&acirc;n của hai biến tham số n&agrave;y.</p> <p><em><strong>Phương ph&aacute;p n&agrave;o tốt hơn?</strong></em></p> <p>Cả 4 chương tr&igrave;nh tr&ecirc;n đều cho đầu ra l&agrave; đ&uacute;ng kỹ thuật. Sẽ kh&ocirc;ng c&oacute; quy tắc được cố định về việc n&ecirc;n chọn phương ph&aacute;p n&agrave;o. Một phương ph&aacute;p tốt được chọn t&ugrave;y thuộc v&agrave;o t&igrave;nh huống v&agrave; c&aacute;ch m&agrave; bạn muốn giải quyết vấn đề. Kh&ocirc;ng c&oacute; g&igrave; tốt, chỉ cần t&iacute;nh ph&ugrave; hợp!</p> <p>Tr&ecirc;n đ&acirc;y l&agrave; c&aacute;c kiểu h&agrave;m do người d&ugrave;ng tự định nghĩa trong C++. Hy vọng mọi người đ&atilde; nắm được cơ bản về c&aacute;c kiến thức n&agrave;y. Mọi người h&atilde;y tiếp tục theo d&otilde;i c&aacute;c b&agrave;i tiếp theo tr&ecirc;n <a href="http://tek4.vn">tek4</a> nh&eacute;!</p>