C++概念温习整理-1、面向对象引言

引言

本科一进学校就是学C语言,当初就是为了应付考试,瞎学一通。这么多年了,实在惭愧,关于C/C++依旧是小白级别的水平。平时做的一些项目也都是在面向过程,C++能力实在有限。
在leetcode刷题的时候,也发现了自己的薄弱。因此,决定抽空也复习复习C++,在这里做一些自己的笔记和理解。

C与C++的大致区别

众所周知,C是面向过程的语言,而C++作为C的升级版和扩展,是面向对象的语言,当然现在还有面向函数式的编程思想,可以说非常牛X。
所谓面向对象,包括了三大概念:封装、继承、多态。相比于C,C++中还多了命名空间、STL等扩展。

封装

关于封装,C语言中就有这类思想,没错,就是我们熟悉的struct,而在C++中,我们将变量与函数(方法)写在一个class中,实现封装,且通过public、private、protected来限定成员的访问权限(不在是struct中的默认公有)。

继承

以一个简单的例子来说明继承。声明一个父类person,其具有名字和年龄两个成员。再声明另一个class,student,具有姓名、年龄、学号三个成员。显然,student也是一个person呀,两者有共有的成员呀!程序员、工科生是需要精干的,怎么可能允许出现如此冗余的部分!于是乎,继承就来了。所谓父传子(女孩也一样哈,没有性别歧视的意思哦,路过的程序员小姐姐不要误会菜鸡哈哈哈哈),千百年来天经地义,C++利用继承来声明一个子类,使子类具有父类的所有成员,且可以自行创造其他成员,如下所示。

class person{
private:
	char* name;
	int age;	
};
//学生具有人的属性
class student{
	char* name;
	int age;
	int id;	
};

//子类
class studen : public person{
	int id;
};

继承:子类继承父类,复用代码。

多态

多态:父类的指针或引用有多重表现形态,用父类的指针或引用操作子类

今天先整理到这里,比较简单,菜菜的研究僧还要去赶论文!_!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值