速通c++
文章目录
1.什么是c++。
C++是c语言的升级版,在c的基础上增加了很多功能。是一种高级语言。
2什么是面向对象,什么又是面向过程。
c语言就是面向过程的,C++就是面向对象的。举例: a+b直接计算a+b就是面向过程。
面向对象就是给a+b穿上了一层衣服。不是直接计算a+b。
3.C++的灵魂,c++的类。
类大家可以把他看成c语言结构体的升级版。类的成员不仅可以是变量,也可以是函数。
4.如何定义一个类。
class student
{
public:
char name[64];
char age;
};
5.什么是对象。
对象是类的实例化。
6.如何定义一个对象。
直接定义:
student my; // student就是类 my就是对象
在堆里面定义。
student *my = new student;
删除对象
delete my; //目的是释放堆里面的内存
7.怎么访问类里的变量
class student
{
public:
char name[64];
int age;
};
int main()
{
student my;
student *my1 = new student;
my.age = 18;
my1->age = 19;
cout << my.age << endl;
cout << my1->age << endl;
//delete my ;
return 0 ;
}
访问方法和C语言是一样的,普通变量通过
.
指针通过->
8.类的函数成员。
因为类里面的成员不仅可以是变量,也可以是函数。
第一步:在类里面声明
第二步:实现这个函数。我们可以直接在类里面写,也可以写在类的外面。直接写在类的里面
class student
{
public:
char name[64];
int age;
void test(){
cout << 123 << endl;
};
};
写在类外面,只不过也要现在类里面声明
void student::test(){ //student::表示属于这个类里面的函数,不加的话会被识别成普通函数。
cout << 123 << endl;
};
访问函数和访问变量是一样的
9.类的访问修饰符。
类的访问修饰符就是对类的成员进行权限管理。
public
:表示函数和变量是公开的,任何人都可以访问。
private
:表示函数和变量只能在自己的类里面自己访问自己,不能通过对象来访问。能不能强行访问?可以的。
protected
:表示函数和变量只能在自己的类里面自己访问自己,但是可以被派生类来访问的。
10.类函数的重载特性
类函数的重载特性就是说我们可以在类里面定义同名的函数,但是参数不同的函数。
class student
{
public:
char name[64];
int age;
void test();
void test(int a);
private:
int haha;
};
11.构造函数和析构函数
析构函数:假如我们定义了析构函数,当对象被删除或者生命周期结束的时候,就会触发析构函数。
构造函数:假如我们定义了构造函数,就会触发这个构造函数。
- 我们要怎么定义析构函数和构造函数?
1.析构函数和构造函数的名字必须和类名一模一样。
2.析构函数要在前面加上一个~
...
void test();
void test(int a);
private:
int haha;
};
student::student(){
cout<< "hello"<< endl
}
student::~student(){
cout<< "bye" << endl;
}
构造函数是可以被重载的
析构函数不能被重载。
12.类的继承
什么是类的继承?
类的继承允许我们在新的类里面继承父类的public
还有protected
部分,private
是不能被继承的。
当我们觉得这个类不好的时候,可以使用类的继承,添加我们需要的功能。
格式:
class 儿子: public爸爸{
public:
......
Protected:
}
例子:
class mystudent:public student
{
public:
int grade;
};
如果在子类里面去访问父类的成员,也是通过
.
和->
来访问的。
13.虚函数和纯虚函数
虚函数:有实际定义的,允许派生类对他进行覆盖式的替换,virtual来修饰。
纯虚函数:没有实际定义的虚函数就是纯虚函数。
举例:
virtual void test(); //虚函数
virtual void testa(){} //纯虚函数
怎么定义一个虚函数?
用virtual
来修饰,虚函数是用在类的继承上的。
虚函数的优点:
可以预留接口,实现分工合作。
速通c++的更多相关文章
- 【资源分享】半条命2速通AHK脚本
*----------------------------------------------[下载区]----------------------------------------------* ...
- Linux速通 随笔整理
Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理
- (数据科学学习手札151)速通pandas2.0新版本干货内容
本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前两天pandas正式发布了其 ...
- [数据结构] 大纲 - Stan Zhang 数据结构速通教程
* 注: 本文/本系列谢绝转载,如有转载,本人有权利追究相应责任. 2019年4月8日 P1.1 链表 Link:https://www.cnblogs.com/yosql473/p/10727471 ...
- Linux速通 大纲
1.Linux操作系统安装及初始化配置(熟悉) 2.Linux操作系统目录组成结构及文件级增删改查操作(重点) 3.Linux操作系统用户.权限管理(重点) 4.开源软件及Linux下软件包的管理(重 ...
- Linux速通01 操作系统安装及简介
操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...
- Linux速通02 命令格式
命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...
- Linux速通03 目录文件的浏览、管理和维护
Linux文件系统的层次结构 # 树状结构:在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. # 目录的定义:目录相当于Windows中的文件夹,目录中存 ...
- Linux速通04 用户、群组、权限
用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...
- Linux速通05 文件处理与编辑
使用 cat 命令进行文件的纵向合并 # 例:使用 cat 命令将 baby.age.baby.weight.baby.sex 这三个文件纵向合并为 baby文件 * cat baby.age bab ...
随机推荐
- 高通lk:配置与使用i2c
高通lk:配置与使用i2c 以msm8909为例. 背景 在lk中要去驱动一个aw9523的ic来控制指示灯. 但是现在对应的i2c没有打开.因此需要进行处理. 步骤 找到I2C对应的ID与句柄 参考 ...
- Linux设备模型:1、设计思想
背景 搞Linux搞这么久,一直在调试各种各样的驱动.却发现对Linux驱动有太多不够了解的地方.因此转载了 蜗窝科技 的有关文章,作为学习. 内容有少量纠正,样式有做调整. 作者:wowo 发布于: ...
- 快速调用 GLM-4-9B-Chat 语言模型
一.确认本机显卡配置 二.下载大模型 国内可以从魔搭社区下载, 下载地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files 三.运行官方 ...
- 详解Web应用安全系列(6)安全配置错误
Web攻击中的安全配置错误漏洞是一个重要的安全问题,它涉及到对应用程序.框架.应用程序服务器.Web服务器.数据库服务器等组件的安全配置不当.这类漏洞往往由于配置过程中的疏忽或错误,使得攻击者能够未经 ...
- 在SelfHost项目中获取客户端IP地址
在SelfHost项目中,获取客户端的IP地址比OwinSelfHost项目要复杂一些,可以通过以下方法获得: base.Request.Properties["System.Service ...
- IntellJ Idea遇到Errors occurred while compiling module的解决方法
问题描述 Information:java: Errors occurred while compiling module '0-common' Information:javac 11 was us ...
- Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)
条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流.零售.医疗.教育等各领域.本文将介绍如何使用Python快速生成各种常见的条形码 ...
- 开源!开源一个flutter实现的古诗拼图游戏
去年(2023年)年底我初学flutter,看了一些文档和教程,想找个东西*练练手. 小时候看过一个关于历史名人儿时事迹的短片,有一集是讲*总理的,有一个细节我记得很清楚:幼年***经常要做一个游戏- ...
- vue小知识~ref和$refs
$refs表示的是获取被ref标识的标签的DM实例. 用法简单: 标签上: <div ref='refName'></div> 获取: this.$refs.refName 就 ...
- c++17 structure binding test
1 /*test for struct binding*/ 2 3 #include <string> 4 #include <iostream> 5 using namesp ...