Nạp chồng toán tử một ngôi trong C++ – HKT SOFT

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–.

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

(

20

,

6

),

K2

(-

6

,

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:

Hi vọng ví dụ trên sẽ giúp bạn hiểu rõ khái niệm này và bạn có thể áp dụng cho nạp chồng toán tử (!) trong C++.