标题:[求助]构造函数和虚函数表问题
取消只看楼主
kakaaka
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-5-2
 问题点数:0 回复次数:0 
[求助]构造函数和虚函数表问题

class A{
int i;
public:
A(int a):i(a){A();cout<<"A(int)"<<endl;}

A(){cout<<"A()"<<endl;};

virtual void f(note)const{cout<<"A->f()"<<endl;}

virtual void f1(){cout<<"A->f1()";}
};

class B : public A{
public:
B():A(){cout<<"B()"<<endl;}

B(int a):A(a){B();cout<<"B(int)"<<endl;}

void f(note)const{cout<<"B::f()"<<endl;}

};

mian()
{
B b(3);
}
输出为:A()--A(INT)--A()--B()--B(INT);

在带参的构造函数里调用无参的构造函数会怎么样呢?书上说构造函数会产生虚函数表,如果一个类的无参构造函数和有参构造函数连续被调用,那它的虚表指针会怎么样?后面调用的会把前面的覆盖还是???不会产生两个VPTR把,
有参和无参构造函数产生的表都是一样的把?
看到C++多态的疑问

搜索更多相关主题的帖子: cout 函数 构造 int 
2006-08-30 15:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-87005-1-1.html




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

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