Trang Chủ Tài chính Cá nhân C ++ Lập trình: Khi nào một chức năng ảo không? - núm vú

C ++ Lập trình: Khi nào một chức năng ảo không? - núm vú

Video: Kĩ năng search google dành cho dân IT 2025

Video: Kĩ năng search google dành cho dân IT 2025
Anonim

Trong C ++, chỉ vì bạn nghĩ rằng một cuộc gọi chức năng cụ thể bị ràng buộc trễ không có nghĩa là nó là. Nếu không được tuyên bố với cùng một đối số trong các lớp con, thì các hàm thành viên không được ghi đè theo hình thức, cho dù chúng có được khai báo ảo hay không.

Một trường hợp ngoại lệ đối với quy tắc khai báo giống nhau là nếu hàm thành viên trong lớp cơ sở trả về một con trỏ hoặc tham chiếu đến một đối tượng lớp cơ sở, một đối tượng ghi đè trong một lớp con có thể trả lại một con trỏ hoặc tham chiếu tới một đối tượng của phân lớp con. Nói cách khác, hàm makeACopy () là đa hình, mặc dù kiểu trả về của hai chức năng khác nhau:

class Base {public: // trả lại bản sao của đối tượng hiện tại Base * makeACopy ();}; class SubClass: public Base {public: // trả lại một bản sao của đối tượng hiện tại SubClass * makeACopy ();}; void fn (Base & bc) {Base * pCopy = bc. makeACopy (); / / tiếp tục …}

Trong thực tế, điều này là khá tự nhiên. Một makeACopy () sẽ trả về một đối tượng kiểu SubClass , mặc dù nó có thể ghi đè BaseClass:: makeACopy () .

Việc kinh doanh này quyết định âm thầm khi nào một chức năng bị ghi đè và khi không phải là một lỗi nguồn trong C ++; quá nhiều để tiêu chuẩn năm 2011 giới thiệu mô tả ghi đè mà lập trình viên có thể sử dụng để chỉ ra ý định của mình để ghi đè lên một chức năng lớp cơ sở.

C ++ tạo ra một lỗi biên dịch nếu một hàm được khai báo ghi đè, nhưng trên thực tế thì không ghi đè một hàm lớp cơ sở vì một số lý do (như đối số không khớp) như trong ví dụ sau: >

class Student {public: virtual void addCourseGrade (cấp hai);}; lớp GradStudent: sinh viên công cộng {public: virtual void addCourseGrade (float grade) override;};
Đoạn mã này tạo ra lỗi biên dịch vì phương thức GradStudent:: addCourseGrade (float) đã được khai báo ghi đè nhưng nó không ghi đè lên chức năng lớp cơ sở Student:: addCourseGrade (double) vì các kiểu đối số don ' phù hợp.

cuối cùng

ngay cả khi chức năng đó tự ghi đè lên một số hàm cơ sở trước đó, như được trình bày trong > Lớp PostDoc : lớp GradStudent: sinh viên công cộng {public: virtual void addCourseGrade (cấp đôi) cuối cùng;}; class PostDoc: public GradStudent {public: ảo void addCourseGrade (cấp đôi);}; Kể từ Student:: addCourseGrade () được đánh dấu là cuối cùng ,

tuyên bố PostDoc:: addCourseGrade () gây ra lỗi vì nó cố gắng ghi đè lên phương pháp

Student . Điều này ảnh hưởng không chỉ là các phương pháp ảo của lớp. Một lớp

cuối cùng không thể được kế thừa từ tất cả.

C ++ Lập trình: Khi nào một chức năng ảo không? - núm vú

Lựa chọn của người biên tập

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Làm thế nào để Lưu tệp vào OneDrive từ iPad của bạn - núm vú

Chia sẻ là chăm sóc và bạn có thể lưu tệp Word, Excel hoặc PowerPoint vào iPad hoặc máy tính để bàn của bạn trực tiếp vào thư mục OneDrive. Sau khi tệp tin trên OneDrive, những người khác có quyền truy cập vào thư mục trên OneDrive có thể mở tệp. Họ có thể mở nó trong Văn phòng cho ứng dụng iPad, Office ...

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Làm thế nào để liên kết đến một tập tin cục bộ trong Office 2011 for Mac - núm vú

Một trong các công cụ hữu ích nhất trong Office 2011 cho mac là khả năng tạo siêu liên kết đến bất cứ đâu. Bạn có thể liên kết đến bất kỳ tập tin nào trên máy tính của bạn; những tập tin này là các tập tin địa phương. Để kết nối với các tệp cục bộ, bạn có thể sử dụng hai loại liên kết: Tuyệt đối: Loại liên kết này có chứa ...

Cách đăng nhập vào OneDrive từ phần mềm

Cách đăng nhập vào OneDrive từ phần mềm

OneDrive là một thành phần của Office 365, Dịch vụ trực tuyến của Microsoft. Trước khi bạn có thể lưu trữ, chia sẻ, hoặc đồng chỉnh sửa các tập tin trên OneDrive từ iPad, bạn phải đăng nhập vào OneDrive. Đọc tiếp để tìm hiểu cách đăng nhập từ Office cho iPad và đăng nhập từ một trình duyệt web. OneDrive ...

Lựa chọn của người biên tập

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Cách sắp xếp các tệp phương tiện cho WordPress Blog của bạn - núm vú

Nếu bạn đã chạy blog của bạn trong bất kỳ khoảng thời gian nào, bạn có thể dễ dàng quên những tệp bạn đã tải lên bằng trình tải lên WordPress. Thư viện Truyền thông WordPress giúp bạn dễ dàng và dễ dàng khám phá những tệp nào trong thư mục Uploads của bạn. Để tìm tệp hình ảnh, video hoặc âm thanh mà bạn đã tải lên bằng cách sử dụng <

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Làm thế nào để tối ưu Blog WordPress của bạn cho Công cụ Tìm kiếm - núm vú

Bạn muốn mọi người tìm thấy blog WordPress của bạn, nếu không bạn sẽ không dành thời gian để viết nó. WordPress được trang bị để tạo ra một môi trường thân thiện với các công cụ tìm kiếm, cho phép họ điều hướng dễ dàng thông qua các kho lưu trữ, các loại và các trang của bạn. WordPress cung cấp môi trường này với một cơ sở mã sạch, nội dung dễ dàng cập nhật thông qua ...

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Làm thế nào để Thực hiện Từ khoá trong trang WordPress của bạn với Permalinks

Cho thứ hạng cao hơn cho trang web WordPress của bạn, sử dụng các liên kết tùy chỉnh với từ khoá. Bằng cách sử dụng các liên kết tuỳ chỉnh, bạn tự động chèn từ khoá vào URL của các bài đăng và trang của bạn, cho phép các công cụ tìm kiếm bao gồm các bài đăng và trang đó trong cơ sở dữ liệu thông tin về những chủ đề đó. Nếu trang web của bạn được lưu trữ bởi nhà cung cấp có

Lựa chọn của người biên tập

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Làm thế nào để gửi chú thích để chia sẻ chúng trong OneNote 2013 - núm vú

Một trong những phương pháp đơn giản chia sẻ một ghi chú với OneNote 2013 bằng cách gửi nó dưới dạng tệp tin tới người nhận e-mail hoặc thậm chí với Microsoft Word hoặc blog của bạn. Để gửi lưu ý hiện tại dưới dạng tệp tin, hãy làm theo các bước sau: Mở ghi chú mà bạn muốn chia sẻ trong OneNote 2013 và chọn <...

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

Làm thế nào để Đồng bộ hóa Ghi chú trong OneNote 2013 - núm vú

OneNote 2013 khoảng cách bản thân từ khái niệm toàn bộ các tệp lưu thủ công trong lợi của đồng bộ hóa chúng. Bạn có thể đồng bộ tập tin tự động hoặc thủ công. Điều này cho phép bạn tự do khi quản lý các tệp của mình. Làm thế nào để đồng bộ tự động trong OneNote OneNote tự động lưu các ghi chú của bạn mỗi khi bạn thực hiện bất kỳ thay đổi ở tất cả để một máy tính xách tay, phần, ...

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

Cách Quản lý Máy tính xách tay OneNote 2013 với SkyDrive - núm vú

SkyDrive có thể truy cập qua đám mây, 't có một ứng dụng SkyDrive được cài đặt trên thiết bị. Điều này giúp bạn dễ dàng quản lý máy tính xách tay OneNote 2013 từ bất kỳ thiết bị nào có truy cập internet. Cách quản lý máy tính xách tay với SkyDrive trên web Bạn có thể truy cập dịch vụ từ bất cứ thiết bị nào bạn đang sử dụng miễn là nó hỗ trợ