200905阶段一C++链表与继承特性

这篇博客详细记录了C++中链表和继承的知识点,包括复合与继承的概念,派生类与基类的关系,多继承的实现,以及构造和析构函数的特殊性。博主分享了学习收获,表示通过理解和实践加深了对C++继承特性的掌握。

一、学习的知识点

链表

//结点类
class Node
{
public:
	Node(){
	this->pdata=NULL;
	this->pnext=NULL;
	}
	void *pdata;
	Node *pnext;
};
#endif

//链表类
class Clist
{
public:
	Clist(){
	this->head=new Node;
	this->head->pnext=NULL;
	this->count=0;
	}
	void addNode(void *data){   //添加结点
	Node *newnode=new Node;
	Node *ptemp=this->head;
	while(ptemp->pnext != NULL)//遍历找尾巴
	{
		ptemp=ptemp->pnext;
	}
	//给新结点赋值,连接新结点
	newnode->pdata=data;
	ptemp->pnext=newnode;
	this->count++;
	}
	int removeNode(int pos){  //删除
	int i=0;
	Node *pre=head;
	Node *ptemp=head->pnext;
	while(ptemp != NULL)
	{
		i++;
		if(i == pos)
		{
			pre->pnext=ptemp->pnext;
 			//delete ptemp->pdata; **pdata指针不是new开辟的,不能用delete**
			delete ptemp;
			count--;
			return 0;
		}
		pre=pre->pnext;
		ptemp=ptemp->pnext;
	}
	return -1;
	}
private:
	//链表头
	Node *head;
	//结点数
	int count;
};

继承

实体间的关系有:

  1. 复合:班级和学校 :班级是学校的一部分
  2. 继承:中学和学校:中学是学校。c++中,继承全部,并允许有属于自己的特征;被继承的类叫 基类(父类),继承的叫 派生类(子类)。
  3. 可以派生类可以有一个基类或者多个基类(多继承)
  4. 派生类创建类对象:会走构造,先走基类,再走自己的构造;回收的时候:会走析构,先走派生类析构,再走基类析构
  5. 如果基类中继承下来的成员函数满足不了派生类功能的时候,派生类需要重写这个函数:重写的函数格式要和基类一模一样:返回值类型 函数名 参数列表,内容不同
  6. 继承的格式:
class 派生类名:继承方式 基类名{}; 一个基类
class 派生类名:继承方式 基类名,继承方式 基类名{}; 多个基类
.h
//控件基类
class CtrBase
{
public:
	CtrBase();
	CtrBase(int x,int y,int w,int h,int typ,char *cont);
	void show();
	
protected: //受保护的派生类可以访问
	int startX;
	int startY;
	int width;
	int height;
	int type;//1 标签 2 编辑框 3 按钮
	char content[20];	
}
.h
#include"CtrBase"
//派生类声明
class Cedit:public CtrBase //继承格式 公有继承
{}; 
.c
#include"CtrBase"

CtrBase::
  1. 继承方式:3种,public(基类是什么派生类就是什么) private(派生类都是私有) protected(都是受保护的)
  2. 继承的时候,构造和析构不会继承,他们是特殊的成员函数

二、上课没有听懂或者没有理解的地方

三、当天学习的收获

学习了C++的继承特性,学会使用基类和继承类,减少函数的重复

四、作业的思路、不会的地方

回忆上课的思路

五、其他需要反馈的问题

六、心得体会

学习了新内容,多加复习巩固

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值