Truyền đối Tượng (object) Vào Hàm (function) Trong C++ - Góc Học IT
Có thể bạn quan tâm
1. Truyền đối tượng như là tham số cho hàm
Tham số của một hàm (function) có thể là các đối tượng. Khi truyền tham số thì có 2 cách truyền là truyền tham trị và truyền tham chiếu. Các bạn có thể đọc lại ở bài Truyền tham trị và truyền tham chiếu cho hàm trong C++.
Truyền tham trị với đối tượng
Khi truyền tham trị, đối tượng không thay đổi sau khi ra khỏi hàm.#include <iostream> using namespace std; class Circle{ private: float r; public: //Hàm khởi tạo có tham số Circle(float r){ this->r = r; } void setRadius(float r){ this->r = r; } float getRadius(){ return r; } float calculateArea(){ return 3.14 * r * r; } }; void setCircle(Circle c){//truyền tham trị c.setRadius(100); } void main() { Circle c1(3.5); setCircle(c1);//gọi hàm truyền tham trị cout<<"Radius of Cirle c1 = "<<c1.getRadius(); cout<<"\nArea of Circle = "<<c1.calculateArea(); system("pause"); }
Kết quả
Radius of Cirle c1 = 3.5 Area of Circle = 38.465Hàm setCircle() có cách truyền tham trị với đối tượng. Thuộc tính r của đối tượng c1 không đổi sau khi ra khỏi hàm.
Truyền tham chiếu với đối tượng
Khi truyền tham chiếu, đối tượng thay đổi sau khi ra khỏi hàm.#include <iostream> using namespace std; class Circle{ private: float r; public: //Hàm khởi tạo có tham số Circle(float r){ this->r = r; } void setRadius(float r){ this->r = r; } float getRadius(){ return r; } float calculateArea(){ return 3.14 * r * r; } }; void setCircle(Circle &c){//truyền tham chiếu c.setRadius(100); } void main() { Circle c1(3.5); setCircle(c1);//gọi hàm truyền tham chiếu cout<<"Radius of Cirle c1 = "<<c1.getRadius(); cout<<"\nArea of Circle = "<<c1.calculateArea(); system("pause"); }
Kết quả
Radius of Cirle c1 = 100 Area of Circle = 31400Hàm setCircle() có cách truyền tham chiếu với đối tượng. Thuộc tính r của đối tượng c1 thay đổi sau khi ra khỏi hàm.
2. Hàm có kiểu trả về là một lớp
Một hàm có thể có kiểu trả về là một lớp. Các hàm này trả về một đối tượng thuộc lớp đó.class Circle{ private: float r; public: //Hàm khởi tạo có tham số Circle(float r){ this->r = r; } void setRadius(float r){ this->r = r; } float getRadius(){ return r; } float calculateArea(){ return 3.14 * r * r; } }; Circle createCircle(){ Circle c(99); return c; } void main() { Circle c1 = createCircle(); cout<<"Radius of Cirle c1 = "<<c1.getRadius(); cout<<"\nArea of Circle = "<<c1.calculateArea(); system("pause"); }
Kết quả
Radius of Cirle c1 = 99 Area of Circle = 30775.1Hàm createCircle() có kiểu trả về là Circle. Hàm này trả về một đối tượng thuộc lớp Circle.
- Hàm thuần ảo (pure virtual function) và lớp trừu tượng (abstract class) trong C++
- Cài đặt Microsoft Visual Studio để lập trình C++
- Sử dụng NetBeans để lập trình C++
- Cú pháp của CSS
- Sử dụng kiểu dữ liệu String trong Python
Từ khóa » Gọi Hàm Trong Class C++
-
Hàm Thành Viên Lớp Trong C++
-
Cơ Bản Về Class Trong C++ | TopDev
-
Hàm Thành Viên Trong C++
-
Class Trong C++
-
Cách Viết Hàm Và Cách Gọi Hàm Trong C++ (function)
-
Class Trong C++: Tạo Lớp Và Đối Tượng Trong C++ Cơ Bản | Ironhack
-
[Tự Học C++] Quyền Truy Cập Vào Các Hàm Và Tính đóng Gói ...
-
[Lập Trình C++ Cơ Bản] Bài 6: Hàm Trong C++ - Viblo
-
Dùng Hàm Bạn Và Lớp Bạn Trong C++ Như Thế Nào? - CodeLearn
-
Class Trong C++ – Wikipedia Tiếng Việt
-
[PDF] Bài 6: Struct Và Class - VNU-UET
-
Bài 14. Lập Trình Hướng đối Tượng (OOP) - Tin Học Cho Người Việt
-
Lớp Và Đối Tượng Trong Lập Trình C++
-
Hàm Friend Trong C++ - Học Lập Trình C++ Online - Viettuts