高手说说!!散分!

bluecobra 2003-03-04 09:51:02
构造函数可以是虚函数吗?试说明!
...全文
28 32 打赏 收藏 转发到动态 举报
写回复
用AI写文章
32 条回复
切换为时间正序
请发表友善的回复…
发表回复
minghui000 2003-07-08
  • 打赏
  • 举报
回复
UP
yeelyxdu 2003-07-08
  • 打赏
  • 举报
回复
wlfjck 2003-07-08
  • 打赏
  • 举报
回复
接分
mafangsan 2003-07-08
  • 打赏
  • 举报
回复
构造函数当然不可以是虚函数

虚函数的作用是可以通过基类指针调用派生类函数

因为如果A类派生了B类

用B类产生对象的时候,先要做基类A的构造函数

而在做基类A的构造函数的时候,派生类对象还没完全产生,

它只能做基类自己的构造函数

所以基类即使构造函数是虚函数也没有虚函数的作用

so C++的设计者规定:类的构造函数不可以是虚函数

simouse 2003-07-08
  • 打赏
  • 举报
回复
up
minghui000 2003-07-08
  • 打赏
  • 举报
回复
UP
MyNameEPC 2003-07-08
  • 打赏
  • 举报
回复
不可以!!!!!!!!!绝对编译错误!!!!!!!!!下面的代码绝对错误!!!
class CBase
{
public:
virtual CBase() // 就是错误的代码!!!!!
{
}
};
web_spider 2003-07-05
  • 打赏
  • 举报
回复
构造函数是不可以为虚函数的,也就是说构造函数不可重载的。
但是析构函数一般应该为虚函数,目的就是要正确的释放资源
cloudtarget 2003-07-05
  • 打赏
  • 举报
回复
只知道析构是可以的,构造不知道
Jinglihui 2003-03-05
  • 打赏
  • 举报
回复
清华出版的<<面向对象理论与C++实践>>36页构造函数与析构函数的特点:
。。。
4,析构函数可以是虚函数(virtual),但构造函数不行
flyycyu 2003-03-05
  • 打赏
  • 举报
回复
不可以!
析构可以
Jinglihui 2003-03-05
  • 打赏
  • 举报
回复
构造函数不可以为虚拟,析构函数可以!
这么基础的东西!

编写一个简单的类测试一下不就有结果了么!
garbriel 2003-03-05
  • 打赏
  • 举报
回复
应不应该视情况而定。
Have a look at C++ books.
flysundy 2003-03-05
  • 打赏
  • 举报
回复
可以是虚拟的吧,原因i don't know
liem 2003-03-05
  • 打赏
  • 举报
回复
析构函数通常应该是虚的,这样当用基类指针指向其派生类并要析构时,程序能正确调用合适的析构函数。
xhncmecx 2003-03-05
  • 打赏
  • 举报
回复
我发现chinajiji(菜鸟叽叽) 是一个牛人
一个C++ 高人
chinajiji 2003-03-05
  • 打赏
  • 举报
回复
acsharplover(斜阳) :
析构函数当然可以虚拟的.
acsharplover 2003-03-05
  • 打赏
  • 举报
回复
to 菜鸟(chinajiji)先生:
据我所知析构函数是可以虚拟的,基类中申明后,子类可以重载它。
myredsun 2003-03-05
  • 打赏
  • 举报
回复
构造函数可以是虚函数
bluecobra 2003-03-05
  • 打赏
  • 举报
回复
谢谢各位的帮忙,有问题我还会来打扰大家的!

加载更多回复(12)

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧