30/09/2018, 23:47

Hỏi về quá tải toán tử gán bằng ( ép kiểu ) C++

Chào các bạn,

Mình đang thắc mắc 1 chỗ : cách định nghĩa operator= cho phép gán float = 1 object . Tức chuyển object thành dạng float ,…( như hình dưới)

Ý của đề : Phân số từ class = >ép kiểu => float.

Có 1 số vấn đề nếu định nghĩa như operator+,+= ,… thông thường.

+ Nếu để friend float operator=( Fraction &) thì bị lỗi :

+ Nếu gọi hàm bằng Fraction:: thì lỗi sau :


Mong mọi người giúp đỡ, mình đã tìm hiểu trước khi hỏi nhưng không tìm ra câu trả lời hợp lí cho bài này :(.

Tao Không Ngu. viết 01:57 ngày 01/10/2018

Bạn cần nạp chồng toán tử user-defined conversion chứ không phải toán tử =.
Toán tử = để sao chép đối tượng.
http://en.cppreference.com/w/cpp/language/cast_operator

Bài liên quan
0