c++的构造函数能不能用virtual修饰?
4个回答
推荐于2016-10-08 · 知道合伙人教育行家
关注
展开全部
c++的构造函数不能用virtual修饰。因为构造函数用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将构造函数定义为虚函数。通常析构函数才会用virtual修饰。
C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 ,面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。C++支持多种编程范式 ,面向对象编程、泛型编程和过程化编程。最新正式标准C++于2014年8月18日公布。其编程领域众广,常用于系统开发,引擎开发等应用领域,是至今为止最受广大程序员受用的最强大编程语言之一,支持类:类、封装、重载等特性。
展开全部
不能。在子类构造的时候肯定要先构造父类的构造函数的。其次,构造函数运行时,类还没有完全构造好,虚函数列表还没有初始化好。建议看看Effective C++ 条款9:http://www.cnblogs.com/lidan/archive/2012/01/13/2321726.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能,因为构造函数用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将构造函数定义为虚函数。
http://blog.csdn.net/freeboy1015/article/details/7635012
http://blog.csdn.net/freeboy1015/article/details/7635012
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不能,因为构造函数用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将构造函数定义为虚函数。
http://blog.csdn.net/freeboy1015/article/details/7635012
http://blog.csdn.net/freeboy1015/article/details/7635012
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询