C语言中如何具体运用Virtual关键字实现多态?

2026-04-19 03:021阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计973个文字,预计阅读时间需要4分钟。

C语言中如何具体运用Virtual关键字实现多态?

基础概念与示例+常见继承

基础理解和demo

普通的继承

#include<iostream> class Parent { public: void print() { std::cout << "Parent" << std::endl; } }; class Child : Parent { public: void print() { std::cout << "Child" << std::endl; } }; int main() { Child c; c.print(); return 0; }

输出结果为 "Child"

但是如果是 "父类的指针指向子类的对象" 这种情况下, 使用这个父类的指针去调用被重写的方法呢, 结果会是什么呢? 从语法的本质上讲, 子类对象的内存前半部分就是父类, 因为可以将子类对象的指针直接转化为父类。

阅读全文

本文共计973个文字,预计阅读时间需要4分钟。

C语言中如何具体运用Virtual关键字实现多态?

基础概念与示例+常见继承

基础理解和demo

普通的继承

#include<iostream> class Parent { public: void print() { std::cout << "Parent" << std::endl; } }; class Child : Parent { public: void print() { std::cout << "Child" << std::endl; } }; int main() { Child c; c.print(); return 0; }

输出结果为 "Child"

但是如果是 "父类的指针指向子类的对象" 这种情况下, 使用这个父类的指针去调用被重写的方法呢, 结果会是什么呢? 从语法的本质上讲, 子类对象的内存前半部分就是父类, 因为可以将子类对象的指针直接转化为父类。

阅读全文