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. 高通lk:配置与使用i2c

    高通lk:配置与使用i2c 以msm8909为例. 背景 在lk中要去驱动一个aw9523的ic来控制指示灯. 但是现在对应的i2c没有打开.因此需要进行处理. 步骤 找到I2C对应的ID与句柄 参考 ...

  2. Linux设备模型:1、设计思想

    背景 搞Linux搞这么久,一直在调试各种各样的驱动.却发现对Linux驱动有太多不够了解的地方.因此转载了 蜗窝科技 的有关文章,作为学习. 内容有少量纠正,样式有做调整. 作者:wowo 发布于: ...

  3. 快速调用 GLM-4-9B-Chat 语言模型

    一.确认本机显卡配置 二.下载大模型 国内可以从魔搭社区下载, 下载地址:https://modelscope.cn/models/ZhipuAI/glm-4-9b-chat/files 三.运行官方 ...

  4. 详解Web应用安全系列(6)安全配置错误

    Web攻击中的安全配置错误漏洞是一个重要的安全问题,它涉及到对应用程序.框架.应用程序服务器.Web服务器.数据库服务器等组件的安全配置不当.这类漏洞往往由于配置过程中的疏忽或错误,使得攻击者能够未经 ...

  5. 在SelfHost项目中获取客户端IP地址

    在SelfHost项目中,获取客户端的IP地址比OwinSelfHost项目要复杂一些,可以通过以下方法获得: base.Request.Properties["System.Service ...

  6. IntellJ Idea遇到Errors occurred while compiling module的解决方法

    问题描述 Information:java: Errors occurred while compiling module '0-common' Information:javac 11 was us ...

  7. Python 生成条形码、二维码 (Code 128、EAN-13、QR code等)

    条形码和二维码是现代信息交换和数据存储的重要工具,它们将信息以图形的形式编码,便于机器识别和数据处理,被广泛应用于物流.零售.医疗.教育等各领域.本文将介绍如何使用Python快速生成各种常见的条形码 ...

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

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

  9. vue小知识~ref和$refs

    $refs表示的是获取被ref标识的标签的DM实例. 用法简单: 标签上: <div ref='refName'></div> 获取: this.$refs.refName 就 ...

  10. c++17 structure binding test

    1 /*test for struct binding*/ 2 3 #include <string> 4 #include <iostream> 5 using namesp ...