mobo0 bắt đầu chủ đề từ 5 tháng trước

@billy21 ·


Xin chào, và tôi hy vọng thư này sẽ đến được với bạn. Tôi hiện đang làm việc trên một dự án C++ có tính kế thừa và hàm tạo. Thật không may, tôi đã gặp phải một lỗi mà dường như tôi không thể giải quyết được. Đây là một ví dụ về mã:

#include <iostream>

class Base {
public:
    Base(int value) {
        std::cout << "Base constructor with value: " << value << std::endl;
    }
};

class Derived : public Base {
public:
    using Base::Base;
};

int main() {
    Derived derivedObject(42);  // Compilation error occurs here
    return 0;
}

Thông báo lỗi tôi nhận được là:

error: no matching function for call to 'Derived::Derived(int)'

Tôi cho rằng vấn đề là do kế thừa các hàm tạo, nhưng tôi không chắc chắn cách khởi tạo chính xác lớp Derived bằng cách sử dụng hàm tạo được cung cấp từ lớp Cơ sở, vì vậy tôi đã đọc blog này của scaler về cùng một chủ đề nhưng không thể đọc đầy đủ hiểu nó. Ai đó có thể vui lòng giúp tôi tìm ra cách khắc phục vấn đề này?

Cảm ơn bạn đã dành thời gian và kiến thức của bạn.

Viết câu trả lời

Drop Images

0 Bình luận