栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

c++学习 第七章 继承与派生

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c++学习 第七章 继承与派生

派生类的定义

单继承定义方式
class 派生类名:继承方式 基类名
{
成员声明;
}

多继承:派生类具有多个基类
class 派生类名:继承方式1 基类名1 ,继承方式2 基类名2
{
成员声明;
}

代码说明
#include

using namespace std;


class Car{
	private:
		char lable;
		int price ;
	public:
		void show_price();
		//Car(int price):price(price){}
};

void Car::show_price(){
	cout< 
基类函数具有构造函数时: 

#include

using namespace std;

class Car{
	protected://注意这里设置为保护类 
		char lable;
		int price ;
		double gas; 
	public:
		void show_price();
		//Car(int price):price(price){}
		Car(int x,double y):price(x),gas(y){}
};

void Car::show_price(){
	cout< 
类型兼容规则 

还没有完全明白

#include
using namespace std;

class base1{
	public:
		void display(){cout<<"base1"<display();//指针用->访问,变量用.访问 
	}
		 	
int main(){
	base1 base1;
	base2 base2;
	Derived derived;
	
	fun(&base1);
	fun(&base2);//派生类的指针可以隐含转化为基类的指针 
	fun(&derived);//同上 
	//注意print的结果 

	
	return 0;
}
继承时候的构造函数


 

#include

using namespace std;


//--------------------------------------------------------------
class B{
	public:
		B();
		B(int i);
		~B();
		void print();
	private:
		int b;
};

B::B(){
	b=0;
	cout<<"B's default constructor"< 

当基类中声明有默认构造函数或者未声明构造函数时,派生类构造函数可以不向基类构造函数传递参数,也可以不声明构造函数。生成构造派生类的对象时,基类的默认函数将会被调用
若基类含形参的构造函数,派生类构造函数则需要在初始化列表中给基类提供参数

派生类的构造函数(多继承且有内嵌对象)

构造函数的执行顺序
1.调用构造函数,调用顺序按照他们被继承时声明的顺寻(并不是按照初始化列表的顺序)****
2.队成员对象进行初始化,初始化顺序按照他们在类中声明的顺序
3.执行派生类的构造函数体内的内容

内嵌对象:
其实就是在一个新的类里面定义一个类的对象称为类内对象

此时构造函数的形式为
派生类名::派生类名(形参表):基类名1(参数),基类名2(参数),…基类名n(参数),对象成员初始化列表,基本类型成员初始化列表{
其他语句;
}

有点小南哦
多看看代码最最最后的注释

#include

using namespace std;

class base1{
	public:
		base1(int i){cout<<"Construct base1: "< 

休息一会再更,有点倦了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/458187.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号