C++ 子类继承父类 之 构造函数
前面常写点java的代码,对于C++基本的一些概念很模糊了,就当写个小笔记
之后遇到问题肯定还要补充。
主要内容:
a. 子类继承父类写法
b. 子类继承父类的构造函数
创建父类F.h
- #include <vector>
- using namespace std;
- struct F
- {
- F();
- F(F& f);
- int x;
- vector<int> intVec;
- };
- F::F(){
- }
- F::F(F& f){
- x = f.x;
- intVec = f.intVec;
- }
1) 其中构造函数F(F& f) ,后面子类继承的时候会用到
子类S.h
- #include "F.h"
- struct S : public F
- {
- int y;
- S(F f);
- };
- S::S(F f) : F(f)
- {
- }
测试代码 main.cpp :
- #include <iostream>
- using namespace std;
- int main(){
- F f;
- f.x = 0;
- for(int i = 0;i < 5;i++){
- f.intVec.push_back(i);
- }
- S s(f);
- cout << "s.x :"<< s.x << endl
- <<"s.intVec.size() : " << s.intVec.size() << endl
- << "values of s.intVec :";
- for(int i = 0;i < 5;i++){
- cout << " " << s.intVec[i];
- }
- return 0;
- }
输出结果:
子类S继承了父类F的一个构造函数