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

Quá tải C++ `-`

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

Tôi đã nạp chồng toán tử thành "-" cho sơ đồ lớp của mình. Những gì nó làm không hoàn toàn trực quan (mã hóa kém - tôi biết) nhưng nếu tôi thực hiện graph3 = graph2-graph1 thì biểu đồ 3 được cho là chỉ nhận các đỉnh đó từ biểu đồ 2 và biểu đồ 1.

Vì vậy, tôi đã viết mã và khi tôi chạy trình gỡ lỗi, hàm toán tử dường như tạo một "biểu đồ" mới để trả về và thêm các đỉnh thích hợp vào biểu đồ mới thì trình gỡ lỗi xuất hiện để thoát khỏi hàm toán tử nhưng lại có cũng không quay lại vấn đề chính. Giống như đang đợi tôi gõ gì đó. Không có thông báo lỗi xuất hiện.

Mã này như sau:

char stringy[100];
//cin>>chuỗi;
strcpy(stringy,"|12,34,25,2,3,2|(3->2),(2->1),(5->9),(2->1)|");
char* param= new char[sizeof(stringy)];
strcpy(param,stringy);
Đồ thị đồ thị1(param);

chuỗi char[20] = "|33,34,11|(2->33)|";
Đồ thị graph2(chuỗi);
cout<<><>

Đồ thị đồ thị3;
//cho đến đây mọi thứ đều hoạt động tốt
graph3=graph1-graph2; //cửa sổ thực hiện việc này và sau đó

cout<<><>

Chức năng vận hành:

Đồ thị Đồ thị::toán tử- (const Đồ thị& g2) const
{
Đồ thị được tạo;

// đi qua danh sách "này" và nếu giá trị tồn tại trong g2 thì sao chép nó vào đã tạo
for(int i=0;i<>
{
if (g2.vertList.find(vertList.read(i))!=999)
đã tạo.addVertex(vertList.read(i).getInt());
}

return được tạo;
}

Tôi đang sử dụng các khối mã.

Sao chép hàm tạo:

Đồ thị(const Đồ thị& g2):      
maxVal(g2.maxVal),vertList(g2.vertList),edgeList(g2.edgeList){};

Toán tử gán:

void Graph::operator= (const Graph& g2)
{
nếu (cái này==&g2)
{
cout<<"không phải là ý tưởng hay nhất"<<>
trở lại;
}

vertList.delete_List();
edgeList.delete_List();
maxVal=0;

addValues(g2.outSumm());
}

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

Không liên quan cụ thể đến câu hỏi của bạn (mặc dù có thể như vậy), tại sao bạn không sử dụng std::string? Nếu bạn phải sử dụng mảng ký tự, tại sao không:

char stringy[100] = "|12,34,25,2,3,2|(3->2),(2->1),(5->9),(2->1)|";
Đồ thị đồ thị1(chuỗi);

thậm chí:

Đồ thị graph1( "|12,34,25,2,3,2|(3->2),(2->1),(5->9),(2->1)|" );

Hay bạn lưu trữ con trỏ được truyền tới hàm tạo của lớp? Nếu vậy thì đó là một ý tưởng tồi và tôi sẽ nhân đôi lời khuyên của mình về việc sử dụng std::strings.

Về việc nạp chồng C++ `-`, 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/836035/

28 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