#include <iostream>
#include <string>
using namespace std;
/*---------------------------------
13 向基类构造函数传递参数
---------------------------------*/
class father
{
protected:
string name;
int tall;
public:
father(string a,int i);
father()
{cout<<"构造基类"<<endl;}
void print()
{cout<<"name"<<"身高为:"<<tall<<endl;}
~father()
{cout<<"释放基类对象"<<endl;}
};
father::father(string a,int i)
{
cout<<"\n在基类的构造函数内"<<endl;
name = a;
tall = i;
print();
cout<<"离开基类构造函数"<<endl;
}
class son:public father
{
private:
int weight;
public:
son(string a,int i,int j);
void print1();
~son()
{cout<<"\n释放子类对象"<<endl;}
};
son::son(string a,int i,int j) //初始化所有数据,包括从从基类继承来的数据和子类自个儿的数据
{
name =a; //从基类继承来的数据
tall =i; //从基类继承来的数据
weight =j; //子类自个儿的数据
cout<<"在子类的构造函数内"<<endl;
}
void son::print1()
{
father::print();
cout<<"体重:"<<weight<<endl;;
}
int main()
{
son Mike("Mike",170,110);
Mike.print1();
cout<<"程序结束"<<endl;
return 0;
}
运行结果:
构造基类
在子类的构造函数内
name身高为:170
体重:110
程序结束
释放子类对象
释放基类对象
Press any key to continue
C++ 继承 6--1向基类构造函数传递参数方法一(注意对比6--2的运行结果)
最新推荐文章于 2023-02-08 23:05:14 发布