【C++】基类与子类拷贝构造函数的调用顺序
来源:互联网 发布:木工柜门半盖怎么算法 编辑:程序博客网 时间:2024/05/22 04:35
先看一段代码:
#include <iostream>
using namespace std;
class Base
{
public:
Base()
{
cout<<"Base()\n";
m_a=0;
}
Base(const Base& obj)
{
cout<<"Base(const Base& )\n";
m_a=1;
}
int m_a;
};
class Derive : public Base
{
public:
Derive()
{
cout<<"Derived()\n";
m_b=0;
}
Derive(const Derive& obj):Base(obj)
{
cout<<"Derive(const Derive& )\n";
m_b=1;
}
int m_b;
};
int main(int argc, char *argv[])
{
Base base;
Derive derive1;
Derive derive2(derive1);
system("pause");
return 0;
}
运行结果如下:
由此可见,在调用子类拷贝构造函数时(注意:Base(obj)),先调用了父类的拷贝构造函数,对子类中父类的数据进行拷贝。
0 1
- 【C++】基类与子类拷贝构造函数的调用顺序
- 关于父类与子类的构造函数调用顺序
- 子类的拷贝构造函数如何调用其父类的拷贝构造函数
- 子类父类构造函数调用顺序
- c++ 子类父类 的构造函数调用顺序
- c++中 子类父类的构造函数调用顺序
- c++ 子类父类 的构造函数调用顺序
- C++_子类与基类的构造函数问题
- 基类构造析构函数、子类构造析构函数和子类成员变量构造析构函数的调用顺序
- cppTest-8.2:虚析构函数探究&父类和子类的构造函数与析构函数的调用顺序
- 拷贝构造,构造函数,析构函数的调用顺序
- 当定义基类和子类拷贝构造函数时,需要显示调用基类的拷贝构造函数才行
- 父类与子类的构造顺序
- [C++] 拷贝构造函数的调用
- 关于基类指针指向子类对象,构造函数和析构函数调用的顺序的问题。
- 子类调用父类构造函数和析构函数的顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- [C#]父类与子类的静态成员变量、实例成员变量、构造函数的执行顺序
- PHPSTORM/IntelliJ IDEA 常用 设置配置优化 - meetrice
- 彻底弄懂css中单位px和em,rem的区别
- Ⅰ.2.3 如何访问Qt枚举型
- iOS 代码实践总结
- java实现IP地址过滤
- 【C++】基类与子类拷贝构造函数的调用顺序
- 股票投资
- swift之函数(functions)
- POJ1251 Jungle Roads(kru)
- Ⅰ.2.4 如何使用Qt Convenience API
- IOS开发之TabBarItem&NavigationBarItem
- LeetCode OJ 系列之283 Move Zeroes --Python
- Ⅰ.2.5 如何使用Qt Signal Handles
- Android 多线程处理之多线程用法大集合