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的一个构造函数