千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:南昌千锋IT培训  >  技术干货  >  C++虚函数和C#虚函数的区别?

C++虚函数和C#虚函数的区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 21:14:29

一、C++虚函数和C#虚函数的区别

C++

名列前茅次引入虚拟函数的基类时,必须在类声明中指定virtual关键字。如果虚函数的定义放在类的外面,则不能再次指定关键字virtual。假设有下面的类层次:

class A

{

public:

virtual void foo() { cout << “A::foo() is called” << endl;}//定义一个虚函数

};

class B: public A

{

public:

//备注:只要在基类中已声明为virtual,这里即使不使用virtual关键字,默认也是虚函数

//同样,如果还有从B派生的子类,对应的成员函数也是虚函数

virtual void foo() { cout << “B::foo() is called” << endl;}

};

//那么,在使用的时候,我们可以:

A * a = new B();

a->foo();// 在这里,a虽然是指向A的指针,但是被调用的函数(foo)却是B的!

C#

若一个实例方法声明前带有virtual关键字,那么这个方法就是虚函数。

虚方法前不允许有static,abstract,或override修饰符

虚方法不能是私有的,因此不能使用private修饰符

    class A

    {

        public virtual void Sum() //虚函数

        {

            Console.WriteLine(“I am AClass,I am virtual sum().”);

        }

    }

    class B : A

    {

        public override void Sum() //重新实现了虚函数(重写)

        {

            Console.WriteLine(“I am BClass,I am override sum().”);

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            A a = new B();  //定义一个a这个A类的对象.这个A就是a的申明类,实例化a对象,B是a的实例类            

            a.Sum();

            Console.Read();

        }

    }

延伸阅读:

二、C++

是一种计算机高级程序设计语言,由C语言扩展升级而产生,较早于1979年由本贾尼·斯特劳斯特卢普在AT&T贝尔工作室研发。C++既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计。 C++几乎可以创建任何类型的程序:游戏、设备驱动程序、HPC、云、桌面、嵌入式和移动应用等。 甚至用于其他编程语言的库和编译器也使用C++编写。C++拥有计算机运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

Rust使用crate名和crate关键字有什么区别?

2023-10-13

C++虚函数和C#虚函数的区别?

2023-10-13

大数据与数据库有什么区别?

2023-10-13

最新文章NEW

大数据分析用什么软件?

2023-10-13

安卓开发的开发工具Eclpise和AndroidStudio有什么区别?

2023-10-13

Python的int取整和//整除有什么区别?

2023-10-11

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>