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++的更多相关文章

  1. 【资源分享】半条命2速通AHK脚本

    *----------------------------------------------[下载区]----------------------------------------------* ...

  2. Linux速通 随笔整理

    Linux速通 随笔整理 为了方便阅读,特整理了相关的学习笔记 零.大纲 一.系统安装 二.命令格式 三.文件管理 四.用户群组 五.文件处理 六.系统初始化及监控 七.硬盘初始化 八.网络原理

  3. (数据科学学习手札151)速通pandas2.0新版本干货内容

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,前两天pandas正式发布了其 ...

  4. [数据结构] 大纲 - Stan Zhang 数据结构速通教程

    * 注: 本文/本系列谢绝转载,如有转载,本人有权利追究相应责任. 2019年4月8日 P1.1 链表 Link:https://www.cnblogs.com/yosql473/p/10727471 ...

  5. Linux速通 大纲

    1.Linux操作系统安装及初始化配置(熟悉) 2.Linux操作系统目录组成结构及文件级增删改查操作(重点) 3.Linux操作系统用户.权限管理(重点) 4.开源软件及Linux下软件包的管理(重 ...

  6. Linux速通01 操作系统安装及简介

    操作系统 # a)操作系统的定义:操作系统是一个用来协调.管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间. # 操作系统分为 系统调用接口 和 系统内核 # b)操作系统内核的定义 ...

  7. Linux速通02 命令格式

    命令的格式 # 格式:命令 [选项][参数] * 命令:告诉 Linux操作系统执行什么 * 选项:说明命令运行的方式(可以改变命令的功能).以 "-"字符开始 * 参数:说明命令 ...

  8. Linux速通03 目录文件的浏览、管理和维护

    Linux文件系统的层次结构 # 树状结构:在Linux或Unix操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构. # 目录的定义:目录相当于Windows中的文件夹,目录中存 ...

  9. Linux速通04 用户、群组、权限

    用户及passwd文件 # /etc/passwd文件的功能:存储所有用户的相关信息,实际上是存放用户信息的数据库(database) # 各个字段的含义: * 第一个字段(列)记录的是这个用户的名字 ...

  10. Linux速通05 文件处理与编辑

    使用 cat 命令进行文件的纵向合并 # 例:使用 cat 命令将 baby.age.baby.weight.baby.sex 这三个文件纵向合并为 baby文件 * cat baby.age bab ...

随机推荐

  1. Linux 内核:设备树(3)把device_node转换成platfrom_device

    Linux 内核:设备树(3)把device_node转换成platfrom_device 背景 在上一节中讲到设备树dtb文件中的各个节点转换成device_node的过程(<dtb转换成de ...

  2. .Net Core 访问 appsettings.json

    1.添加 NuGet 包 Microsoft.Extensions.Configuration 2.通过注入获取 Configuration 注意:注入获取的必须提前在 StartUp 里面提前注册 ...

  3. CosyVoice多语言、音色和情感控制模型,one-shot零样本语音克隆模型本地部署(Win/Mac),通义实验室开源

    近日,阿里通义实验室开源了CosyVoice语音模型,它支持自然语音生成,支持多语言.音色和情感控制,在多语言语音生成.零样本语音生成.跨语言声音合成和指令执行能力方面表现卓越. CosyVoice采 ...

  4. 如何合理开发Java接口(安全性,可重复调用,稳定性,追溯性)

    一.接口开发规范 签名:对外提供的接口要做签名认证,认证不通过的请求不允许访问接口.提供服务. 加密:敏感数据在网络传输过程中应该加密. IP白名单:限制请求的IP,增加IP白名单,一般在网关层处理. ...

  5. 做独立开发者,能在 AppStore 赚到多少钱?

    成为一名独立开发者,不用朝九晚五的上班,开发自己感兴趣的产品,在AppStore里赚美金,这可能是很多程序员的梦想,今天就来盘一盘,这个梦想实现的概率有多少. (Solo社区 投稿) 先来了解一些数据 ...

  6. redis基本数据结构-集合set

    redis基本数据结构-集合set 特性 一个集合键最多存储 2^32 - 1 个字符串值 元素在集合内无序(哈希表-链地址法解决冲突) 元素在集合内唯一 向集合添加元素 sadd key value ...

  7. 彻底理解Linux的DISPLAY变量的作用

    背景 最近遇到个两年前遇到的问题,使用virt-manager提示(virt-manager:873): Gtk-WARNING **: 14:53:28.147: cannot open displ ...

  8. 开源!开源一个flutter实现的古诗拼图游戏

    去年(2023年)年底我初学flutter,看了一些文档和教程,想找个东西*练练手. 小时候看过一个关于历史名人儿时事迹的短片,有一集是讲*总理的,有一个细节我记得很清楚:幼年***经常要做一个游戏- ...

  9. 整数-笔记C

    实际情况也确实如此,C语言并没有严格规定 short.int.long 的长度,只做了宽泛的限制: short 至少占用 2 个字节. int 建议为一个机器字长.32 位环境下机器字长为 4 字节, ...

  10. Python项目批量管理第三方包(requirements.txt)

    python项目中必须包含一个 requirements.txt 文件,用于记录所有依赖包及其精确的版本号,以便新环境部署. requirements.txt可以通过pip命令自动生成和安装 生成re ...