博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
变量初始化,基类构造器,基类构造器中调用虚函数,子类构造器
阅读量:4630 次
发布时间:2019-06-09

本文共 740 字,大约阅读时间需要 2 分钟。

正确顺序:变量初始化代码,基类构造器,基类构造器中调用虚函数,子类自己的构造器。

基类构造器中调用的虚函数会起作用,因为此时对象已经构建好了,但是只是执行了变量的初始化代码,还没有经过子类自己的构造器的初始化。

using System;namespace ConsoleApp3{    class A    {        public A()        {            PrintFields();        }        public virtual void PrintFields() { }    }    class B:A    {        int x = 1;        int y;        public B()        {            y = 1;        }        public override void PrintFields()        {            Console.WriteLine($"x={x}, y={y}");        }    }    interface IInterface    {        void test();        void test(int a);    }    class Program    {        static void Main(string[] args)        {            A b = new B();        }    }}

 

结果

x=1, y=0

 

转载于:https://www.cnblogs.com/dirichlet/p/8328176.html

你可能感兴趣的文章
painting fence - 分治 - Codeforces 448c
查看>>
游戏模型规范
查看>>
【转】gcc编译优化---likely()与unlikely()函数的意义
查看>>
完成评论功能
查看>>
HDOJ2567 ( 寻梦 ) 【切水题,很欢乐~】
查看>>
Struts2方法调用的三种方式
查看>>
Navicat工具多表查询
查看>>
第四章 读书笔记
查看>>
我不为人人,人人不为我
查看>>
iOS网络编程(三) 异步加载及缓存图片---->SDWebImage
查看>>
Qt qml 模拟iphone slide to unlock 的聚光动画文字效果
查看>>
查看线程的运行状态
查看>>
Flink学习笔记:Operators之CoGroup及Join操作
查看>>
[WCF] - Odata Service 访问失败,查看具体错误信息的方法
查看>>
【2019/4/30】周进度报告
查看>>
.net程序员面试题
查看>>
团队分数分配方法——BY 李栋
查看>>
docker获取镜像很慢解决办法
查看>>
学习-现代交换原理与通信技术
查看>>
【编程题目】左旋转字符串 ☆
查看>>