1.派生类继承的基类中缺省的构造函数时
源代码:
#include <iostream>
using namespace std;
class Base
{
public:
Base()
{ }
void FunTest()
{ }
int m_a;
};
class Der : public Base
{
public:
void FunTest1()
{ }
};
void Test()
{
cout << "********" << endl;
Der d;
}
int main()
{
Test();
getchar();
return 0;
}
看看汇编
如果去掉基类中
Base()
{ }
在看看汇编
2.派生类虚拟继承基类时
代码:
#include <iostream>
using namespace std;
class Base
{
public:
void FunTest()
{ }
int m_a;
};
class Der : virtual public Base
{
public:
void FunTest1()
{ }
};
void Test()
{
cout << "********" << endl;
Der d;
}
int main()
{
Test();
getchar();
return 0;
}
看看汇编
如果去掉继承列表中的virtual
在看看汇编
3.派生类中有其他类类型的成员(该类有缺省的构造函数)时
代码:
#include <iostream>
using namespace std;
class Base
{
public:
void FunTest()
{ }
int m_a;
};
class T
{
public:
T()
{ }
void FunTest()
{ }
int m_a;
};
class Der :public Base
{
public:
void FunTest1()
{ }
T test;
};
void Test()
{
cout << "********" << endl;
Der d;
}
int main()
{
Test();
getchar();
return 0;
}
看看汇编
如果去掉T类中
T()
{ }
在看看汇编
4.派生类或基类中有虚函数的出现时
代码:
#include <iostream>
using namespace std;
class Base
{
public:
virtual void FunTest()
{ }
int m_a;
};
class Der :public Base
{
public:
void FunTest1()
{ }
};
void Test()
{
cout << "********" << endl;
Der d;
}
int main()
{
Test();
getchar();
return 0;
}
看看汇编
如果去掉Base类函数FunTest()前的virtual
在看看汇编
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。