Nạp chồng toán tử một ngôi trong C++
Nạp chồng toán tử một ngôi trong C++ là gì? Sử dụng như thế nào? Mời bạn đọc cùng eLib.VN tham khảo bài viết dưới đây của eLib.VN để biết thêm thông tin về Nạp chồng toán tử một ngôi trong C++.
Mục lục nội dung
1. Nạp chồng toán tử một ngôi trong C++
Toán tử một ngôi (unary) trong C++ hoạt động trên một toán hạng đơn và dưới đây là một số ví dụ về toán tử một ngôi:
-
Nạp chồng toán tử tăng (++) và toán tử giảm (--) trong C++.
-
Toán tử một ngôi (-) trong C++
-
Toán tử logic phủ định (!) trong C++
Toán tử một ngôi hoạt động trên đối tượng mà chúng được gọi, và thường thì toán tử này xuất hiện bên trái đối tượng, dạng như: !obj, -obj, và ++obj, nhưng đôi khi chúng có thể sử dụng như là hậu tố giống như obj++ hoặc obj--.
2. Ví dụ nạp chồng toán tử một ngôi trong C++
Ví dụ sau giải thích cách toán tử (-) có thể được nạp chồng với sự sử dụng tiền tố cũng như hậu tố.
#include <iostream>
using namespace std;
class KhoangCach
{
private:
int met;
int centimet;
public:
// khai bao cac constructor
KhoangCach() {
met = 0;
centimet = 0;
}
KhoangCach(int m, int c) {
met = m;
centimet = c;
}
// phuong thuc de hien thi khoang cach
void hienthiKC()
{
cout << "Khoang cach bang m la: " << met << endl;
cout << "Khoang cach bang cm la: " << centimet << endl;
cout << "\n\n================================\n\n" << endl;
}
// nap chong toan tu (-)
KhoangCach operator- ()
{
met = -met;
centimet = -centimet;
return KhoangCach(met, centimet);
}
};
int main()
{
KhoangCach K1(10, 50), K2(-12, 15);
-K1; // ap dung su phu dinh
K1.hienthiKC(); // hien thi K1
-K2; // ap dung su phu dinh
K2.hienthiKC(); // hien thi K2
return 0;
}
Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:
Trên đây là bài viết của eLib.VN về Nạp chồng toán tử một ngôi trong C++. Hy vọng qua bài này bạn sẽ hiểu và vận dụng trong quá trình học tập và làm việc với C++. Chúc các bạn thành công!
Tham khảo thêm
- doc Nạp chồng toán tử và Nạp chồng hàm trong C++
- doc Nạp chồng toán tử nhị phân trong C++
- doc Nạp chồng toán tử quan hệ trong C++
- doc Nạp chồng toán tử Input/Output trong C++
- doc Nạp chồng toán tử ++ và -- trong C++
- doc Nạp chồng toán tử gán trong C++
- doc Nạp chồng toán tử gọi hàm () trong C++
- doc Nạp chồng toán tử subscript [] trong C++
- doc Nạp chồng toán tử truy cập thành viên lớp (->) trong C++