2013-07-30 15 views
14

Chúng ta có thể khai báo một chức năng như thế này trong C++:Chúng ta có thể quá tải các toán tử cho các kiểu dựng sẵn như int hay float không?

int operator + (int , int); 

câu trả lời của bạn sẽ được đánh giá cao!

Cảm ơn

+3

Bạn không thể quá tải các toán tử cho các kiểu tích hợp. – juanchopanza

+0

Nội dung câu hỏi của bạn dường như không liên quan gì đến tiêu đề. Bạn hỏi gì? – Dariusz

+0

tôi nghĩ đối số phải là đối tượng, nếu bạn được phép quá tải kiểu int thì thao tác số học tổng thể sẽ là hỗn loạn –

Trả lời

10

Có: Bạn có thể vượt qua ints và nổi vào chức năng quá tải

Số: Bạn không thể quá tải/ghi đè lên các nhà khai thác cho xây dựng trong các loại khi được xây dựng trong loại là trên cả hai mặt của biểu thức .

18

Bạn không thể xác định lại toán tử cài sẵn. Vận hành quá tải được thiết kế để cho phép bạn mở rộng ngôn ngữ, không thay đổi . Ít nhất một trong các tham số của toán tử quá tải phải là loại do người dùng xác định (loại lớp hoặc loại enum) hoặc tham chiếu đối với loại do người dùng xác định.

+0

Đó là hạn chế này chống lại tinh thần của C++ để không bao giờ ngăn cản một lập trình viên tự bắn mình vào chân? – ibrahim5253