c++ 中构造函数的调用先后顺序
2009-04-12 20:49
351 查看
Human.h
Human.cpp
Man.h
Man.cpp
main.cpp
可以看到c++在创建一个对象的时候,是先调用了父类的构造函数,再调用子类的构造函数,
如果把父类的构造函数注释掉,那么程序会直接调用子类的构造函数
如果子类的构造函数也注释掉,编译器还是不会报错..
注意一点,构造函数不能被继承..
#pragma once class Human { public: Human(void); };
Human.cpp
#include "StdAfx.h" #include "human.h" #include <iostream> using namespace std; Human::Human(void) { cout << " you call Human first " << endl; }
Man.h
#pragma once class Man : public Human { public: Man(void); };
Man.cpp
#include "StdAfx.h" #include "Human.h" #include "Man.h" #include <iostream> using namespace std; Man::Man(void) { cout << " you call man first " << endl; }
main.cpp
// ext.cpp: 主项目文件。 #include "stdafx.h" #include "Human.h" #include "Man.h" using namespace System; int main(array<System::String ^> ^args) { //Console::WriteLine(L"Hello World"); Man *a = new Man; delete a; return 0; }
可以看到c++在创建一个对象的时候,是先调用了父类的构造函数,再调用子类的构造函数,
如果把父类的构造函数注释掉,那么程序会直接调用子类的构造函数
如果子类的构造函数也注释掉,编译器还是不会报错..
注意一点,构造函数不能被继承..
相关文章推荐
- C++中多重继承构造函数调用的先后顺序
- C++:派生类的构造函数和析构函数的调用顺序
- C++继承关系中构造函数的调用顺序
- C++和java中构造函数与析构函数的调用顺序
- C++学习笔记(调用构造函数和析构函数的顺序)
- <C++>13.构造函数和析构函数的调用顺序
- C++ 虚继承对基类构造函数调用顺序的影响
- 第十一周 阅读程序4 类的继承构造函数与析构函数调用的先后顺序
- C++中构造函数调用顺序
- C++继承中构造函数、析构函数调用顺序及虚析构函数
- C++继承中析构函数 构造函数的调用顺序以及虚析构函数
- C++ 构造函数调用顺序(转载)
- C++中构造函数与析构函数的调用顺序
- C++中构造函数与析构函数的调用顺序详解
- C++中构造函数与析构函数的调用顺序
- C++基础:派生类的构造函数与析构函数调用顺序
- C++派生类构造函数和析构函数调用顺序
- C++多个类中构造函数与析构函数的调用顺序
- C++ 虚继承对基类构造函数调用顺序的影响
- C++继承中构造函数、析构函数调用顺序及虚析构函数