社区
C语言
帖子详情
哪一个C++编译器支持默认构造函数是虚拟函数?
netxray
2002-03-05 04:30:17
反正vc6++不支持,vc7.net也不支持
...全文
20
4
打赏
收藏
哪一个C++编译器支持默认构造函数是虚拟函数?
反正vc6++不支持,vc7.net也不支持
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tigermount
2002-03-06
打赏
举报
回复
C++得构造函数不能为虚。喜购到时可以
shornmao
2002-03-05
打赏
举报
回复
按照C++标准,构造函数不可以是虚拟函数。在构造函数被调用时,对象根本就没有被建构起来,所以你无法知道这个对象是什么类型,不可能按照类型在运行时决议构造函数。
除非C++标准为此做出改变,否则不太可能有C++编译器实现这一特性,而且在相当长一段时间内,也不会做出这样的改变,那样的话,C++的面貌就和现在的大相径庭了。
lmfree
2002-03-05
打赏
举报
回复
在C++标准中没有这样的定义,需构造函数没有意义。
LLnju
2002-03-05
打赏
举报
回复
没听说过还有这种用法,呵呵,少见多怪
C++
语言基础视频教程
主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会...
C++
编译器
生成
默认构造函数
的四种情况
编译器
什么时候 会生成
默认构造函数
C++
编译器
生成
默认构造函数
的四种情况
c++
新手的两个误解: 1)任何类如果没有定义
默认构造函数
,就会被合成出来
一个
。 2)
编译器
合成出来的
默认构造函数
会显式设定“类内每
一个
数据成员的默认值”。 上述两种说法都是错误的!
C++
编译器
生成
默认构造函数
的四种情况: 1)类成员中有成员是类对象,并且该成员的类含有
默认构造函数
。那么
C++
编译器
会给这个类也生成
一个
默认构造函数
,用来调用其成员对象的构造函数,完成该成员的初始化构造。如果这个成员的类没有给出
默认构造函数
,那么
【
C++
】什么情况下编辑器自动生成默认的构造函数?(详解)
首先我们需要明确,在没有显示定义构造函数的时候,编辑器不一定会自动生成默认的构造函数 对
c++
初学者来说存在
一个
误区,如果类没有定义任何构造函数,
编译器
会自动生成默认的构造函数。 正确的说法: 只有
默认构造函数
”被需要“的时候
编译器
才会生成
默认构造函数
。 那么什么时候是编辑器自己想生成的呢?这里我们给出了四个场景 : 场景一:含有类对象数据成员,该类对象类型有
默认构造函数
class A { public: A() { cout << "A()" << endl;
C++
基础知识—关于
默认构造函数
的一切
C++
条款—关于
默认构造函数
的一切
默认构造函数
(defaultconstructor):
默认构造函数
是在未提供显示初始值时,用来创建对象的构造函数。如果没有提供任何构造函数,则
C++
将自动提供
默认构造函数
,
默认构造函数
没有参数,因为声明中不包含值。同时,当且仅当没有定义构造函数时,
编译器
才会提供
默认构造函数
。为类定义了构造函数后,程序员就必须为它提供
默认构造函数
,如果提供了非默认构造
C++
什么时候会生成
默认构造函数
C++
对象可以使用两种方式进行创建:构造函数和复制构造函数。假如我们定义了类A,并使用它创建对象。 代码如下: A a,b; A c=a; A d(b); 对象a和b使用
编译器
提供的
默认构造函数
A::A()创建出来,我们称这种创建方式为对象的定义(包含声明的含义)。对象c和d则是使用已有的对象,通过
编译器
提供的复制构造函数A::A(const A&amp;)创建,我们称这种创建方式为对象的初始化(...
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章