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

Khởi tạo c++ được chỉ định cho các phương thức không ảo

In lại Tác giả: Hồ Xil Thời gian cập nhật: 2023-11-01 16:30:11 27 4
mua khóa gpt4 Nike

Mình có ah như hình bên dưới

hạng A
{
public:
void doSomething()=0;
};

Sau đó mình có bh như hình bên dưới

#bao gồm "à"

lớp b: công cộng A
{
public:
void doS Something();
};

Tôi vừa thử kiểm tra lỗi cú pháp bằng cách cố gắng biên dịch tiêu đề, ví dụ:g++ -c à bh

Tôi nhận được lỗi dưới đây

ah:4: error: trình khởi tạo được chỉ định cho phương thức không ảo 'void A::doSomething()'

Lỗi này có nghĩa là gì?

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

Nếu hàm thành viên là ảo thì nó chỉ có thể được khai báo là trừu tượng (= 0). Sẽ virtual Từ khóa được thêm vào lớp cơ sở (trong lớp MỘT ) trong phần khai báo hàm.

Trước C++ 11, lặp lại trong khai báo hàm thành viên của lớp dẫn xuất virtual Đây cũng là một cách thực hành tốt, mặc dù không cần thiết về mặt kỹ thuật (vì quy tắc là "một lần ảo, luôn ảo").

C++11 được giới thiệu override Từ khóa có thể được sử dụng khi ghi đè các hàm thành viên ảo để làm cho mã an toàn trước những thay đổi trong tương lai (tức là nếu hàm cơ sở thay đổi chữ ký, mã dẫn xuất sẽ không biên dịch được thay vì lỗi âm thầm). khi override Liệu nó cũng bao gồm khi có mặt virtual Phụ thuộc vào sở thích cá nhân/tiêu chuẩn mã hóa dự án. Tôi thấy không cần thiết và bỏ qua nhưng đó chỉ là sở thích cá nhân của tôi mà thôi.

Về việc khởi tạo C++ được chỉ định cho các phương thức không ảo, 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/17282625/

27 4 0
Hồ Xil
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
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