cuốn sách gpt4 ai đã làm

c++ - Nạp chồng toán tử<< và toán tử!=

In lại Tác giả: Walker 123 Thời gian cập nhật: 28-11-2023 00:29:44 29 4
mua khóa gpt4 Nike

Tôi có câu hỏi về nạp chồng toán tử trong C++. Tôi có các cấu trúc biểu thị số phức và tôi đang nạp chồng các toán tử để có thể thực hiện các phép tính với số phức. Visual Studio 2012 cung cấp cho tôi lỗi này: 1 IntelliSense: Không có toán tử "!=" khớp với các toán hạng này Loại toán hạng là: std::ostream != Complex

Mã chức năng != của tôi

toán tử bool!=(const Complex& lhs, const Complex& rhs)
{
if( lhs.Real() != rhs.Real() || lhs.Imaginary() != rhs.Imaginary() )
{
trả về sự thật;
}
khác
{
trả về sai;
}
}

<



std::ostream& operator<<(std::ostream& stream, const Số phức&)
{
luồng << number.Real() << "+" << number.Imaginary() << "i" << endl;

luồng trở lại;
}

Nội dung chính:

int chính()
{
Phức c1(1,5),c2(5,6);

cout << c1 != c2;

hệ thống ("tạm dừng");

trả về 0;
}

nếu tôi làm

cout << (c1 != c2);

Nó không cho tôi bất kỳ lỗi nào. Có ai biết cách giải quyết vấn đề này mà không cần thêm dấu ngoặc đơn không?

câu trả lời hay nhất

Nếu lỗi của bạn xảy ra trong

cout << c1 != c2

Đây là vấn đề ưu tiên. nó được phân tích cú pháp như

(cout << c1) != c2

Nếu bạn thực sự không thể chịu được cái nhìn phụ huynh. bạn có thể làm

cout << toán tử!=(c1, c2);

Nhưng tôi không nghĩ bạn quan tâm quá nhiều đến vẻ ngoài của nó

Về c++ - nạp chồng toán tử<< và toán tử!=, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/23414163/

29 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress