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. c/c++:带有返回类型的函数没有return语句会怎么样?

    c/c++:带有返回类型的函数没有return语句会怎么样 背景 机器有时候启动的时候发现异常,跟踪了代码发现,有人在写一个int函数的时候,有一个分支没有return: 参考:https://www ...

  2. ZYNQ:提取PetaLinux中Linux和UBoot配置、源码

    说明 默认情况下,PetaLinux在编译完成后会删除源代码,以节省硬盘空间. 在project-spec/meta-user/conf/petalinuxbsp.conf里,添加如下内容,可以保留L ...

  3. 使用kafka作为生产者生产数据到hdfs

    关键:查看kafka官网的userGuide 配置文件: agent.sources = r1agent.sinks = k1agent.channels = c1 ## sources config ...

  4. vulnhub - NYX: 1

    vulnhub - NYX: 1 描述 这是一个简单的盒子,非常基本的东西. 它是基于vmware的,我不知道它是否可以在VB上运行,如果你愿意的话可以测试一下. /home/$user/user.t ...

  5. yb课堂实战之播放记录表设计和模块开发 《十五》

    play_record表设计 DROP TABLE IF EXISTS `play_record`; CREATE TABLE `play_record` ( `id` int(11) NOT NUL ...

  6. Spring面试题及答案

    Spring 在ssm中起什么作用? Spring:轻量级框架 作用:Bean工厂,用来管理Bean的生命周期和框架集成. 两大核心: ①. IOC/DI(控制反转/依赖注入) :把dao依赖注入到s ...

  7. 记录 中**信 ruoyi项目 部署全流程

    零 本地环境改为线上环境 包括 1 后端的数据库连接地址 2 后端的文件存储本地地址 3 后端的文件存储ip地址 4 前端baseUrl 一 后端项目打包 双击package 二 mstsc 进入服务 ...

  8. [oeasy]python0118_语言的发展_希腊字符_拼音文字_亚历山大大帝

    希腊字符回忆上次内容 尼罗河流域 的 埃及圣书体 是象形文字 两河流域 的 苏美尔楔形文字 不是象形文字 做生意的 腓尼基人 利用 埃及圣书体 的 字型 苏美尔楔形文字 的 写法 构造出 腓尼基字符 ...

  9. [oeasy]python0053_ 续行符_line_continuation_python行尾续行

    续行符与三引号 回忆上次内容 上次还是转义序列 类型 英文 符号 \a bell 响铃 \b backspace 退格 \t tab 水平制表符 \v vertical tab 垂直制表符换行不回车 ...

  10. .NET Core 3.x 基于AspectCore实现AOP,实现事务、缓存拦截器

    最近想给我的框架加一种功能,就是比如给一个方法加一个事务的特性Attribute,那这个方法就会启用事务处理.给一个方法加一个缓存特性,那这个方法就会进行缓存.这个也是网上说的面向切面编程AOP. A ...