| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1527 人关注过本帖
标题:关于继承中的虚函数的问题
只看楼主 加入收藏
huangxiuqing
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-19
收藏
 问题点数:0 回复次数:12 
关于继承中的虚函数的问题
当在主函数中定义一个指向派生类的基类指针时,为什么不能在基类中将构造函数声明为虚函数?详细的可以看下面的程序:
     #include<iostream>
using namespace std;
class point
{
public:
    virtual  point()
    {
      cout<<"huang"<<endl;
      }
    virtual ~point()
    {
        cout<<"executing point destructor "<<endl;
    }
};
class circle :public point
{
public:
     virtual circle (double r):radius(r)
    {}
    ~circle ()
    {
        cout<<"executing circle destructor"<<endl;
    }
private:
    double radius ;
};
int main()
{
    point *p=new circle (10);
    delete p;
}
为什么编译会出错?
收到的鲜花
  • pascale2008-11-24 12:02 送鲜花  3朵   附言:我很赞同
搜索更多相关主题的帖子: 函数 继承 
2008-11-19 18:30
zxwangyun
Rank: 4
来 自:云南
等 级:业余侠客
威 望:1
帖 子:232
专家分:299
注 册:2008-10-17
收藏
得分:0 
构造函数是不能被继承的!
你定义为虚函数又有什么用呢?

努力改变一点点!!
2008-11-23 20:46
荒野的雄狮
Rank: 1
来 自:地球
等 级:新手上路
威 望:1
帖 子:300
专家分:0
注 册:2008-9-2
收藏
得分:0 
方法和析构函数最好定义为虚函数

为天地立心、为生民立命、为往圣继绝学、为万世开太平
2008-11-23 20:51
小小强12
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-11-22
收藏
得分:0 
基类的构造函数和析构函数都不能被继承
2008-11-23 21:34
newyj
Rank: 2
等 级:新手上路
威 望:3
帖 子:542
专家分:0
注 册:2008-1-4
收藏
得分:0 
构造函数 不能 是 virtual的
2008-11-23 23:02
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
构造函数不能被继承,而析构函数是可以的。

可以这样理解,构造函数其实是与类相关,于对象无关的(有点像static函数)。构造函数被调用时,对象都没有,何来继承?

Fight  to win  or  die...
2008-11-23 23:54
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
构造函数每有virtual的必要,但是析构却有这个必要...

学习需要安静。。海盗要重新来过。。
2008-11-24 09:21
asd6791868
Rank: 1
来 自:逆流
等 级:新手上路
帖 子:362
专家分:7
注 册:2008-7-27
收藏
得分:0 
构造函数可以定义为虚函数么????????????

─條路 :  ┈片天  ┈個人  ─瞬間:
2008-11-24 14:19
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
收藏
得分:0 
可以伪构造函数....是一种设计模式 ,称为clone技术~

樱花大战,  有爱.
2008-11-24 22:46
hauhu4455
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-11-25
收藏
得分:0 
构造函数是不能为虚函数的
继承的时候构造函数是可以被继承的
2008-11-25 20:36
快速回复:关于继承中的虚函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020620 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved