C++头歌知识点摘抄+学习通错题知识点

您所在的位置:网站首页 友元函数可以访问该类的私有数据成员 C++头歌知识点摘抄+学习通错题知识点

C++头歌知识点摘抄+学习通错题知识点

2023-06-19 16:05| 来源: 网络整理| 查看: 265

类并不是c++中的结构体变量

c++语言的特性:

多态 继承 抽象 封装

string cstring string.h dou

类和结构体的区别

1.结构体是⼀种值类型,⽽类是引⽤类型。值类型⽤于存储数据的值,引⽤类型⽤于存储对实际数据的引⽤。那么结构体就是当成值来使⽤的,类则通过引⽤来对实际数据操作。

2. 结构体使⽤栈存储(Stack Allocation),⽽类使⽤堆存储(Heap Allocation)栈的空间相对较⼩.但是存储在栈中的数据访问效率相对较⾼.堆的空间相对较⼤.但是存储在堆中的数据的访问效率相对较低.

3.类是反映现实事物的⼀种抽象,⽽结构体的作⽤只是⼀种包含了具体不同类别数据的⼀种包装,结构体不具备类的继承多态特性

4.结构体赋值是 直接赋值的值. ⽽对象的指针 赋值的是对象的地址

5.Struct变量使⽤完之后就⾃动解除内存分配,Class实例有垃圾回收机制来保证内存的回收处理。

6.结构体的构造函数中,必须为结构体所有字段赋值,类的构造函数⽆此限制⾸先,关于隐式构造函数.我们知道,在1个类中如果我们没有为类写任意的构造函数,那么C++编译器在编译的时候会⾃动的为这个类⽣成1个⽆参数的构造函数.我们将这个构造函数称之为隐式构造函数 但是⼀旦我们为这个类写了任意的1个构造函数的时候,这个隐式的构造函数就不会⾃动⽣成了.在结构体中,就不是这样了,在结构体中隐式的构造函数⽆论如何都存在。所以程序员不能⼿动的为结构添加1个⽆参数的构造函数。

7.结构体中声明的字段⽆法赋予初值,类可以

如何选择结构体还是类

1. 堆栈的空间有限,对于⼤量的逻辑的对象,创建类要⽐创建结构好⼀些

2. 结构表⽰如点、矩形和颜⾊这样的轻量对象,例如,如果声明⼀个含有 1000 个点对象的数组,则将为引⽤每个对象分配附加的内存。在此情况下,结构的成本较低。

3. 在表现抽象和多级别的对象层次时,类是最好的选择

4. ⼤多数情况下该类型只是⼀些数据时,结构时最佳的选择  

多态性

在面向对象的方法中,多态性是指向不同对象发送同一个消息,不同对象在接收时会产生不同的行为(方法)。

通俗点说就是可以不用像 C 语言中为了求多种图形的面积而针对不同的图形各设计一个独立名字的函数,在 C++ 中只要设计一个专门用于求面积的函数名即可。这个专门用于求面积的函数名可以作为各种求图形面积的函数名。

这么做的好处在于程序设计者可以省去设立多个函数名对应多个函数的麻烦,使用的时候统一用同一个函数名就可调用具有不同功能的函数。

多态在 C++ 中的实现可以是函数的重载、运算符的重载和虚函数,本实训我们介绍虚函数的使用。

学习通:

第一章:

面向对象的程序设计中,把对象的属性(属性由数据表示,描述对象的静态特征)和行为(行为用代码表述,描述对象的动态特征)组织在同一个模块的机制叫做封装

类通过接口与外界发生关系

对象与对象之间的通信机制是消息

在结构化程序设计方法(面向过程)程序=算法+数据结构

在面对对象程序设计方法 程序=对象+信息

重载不是面向对象系统所包含的要素,面向对象=对象+类+继承+消息+多态对象并不是功能相对独立的一段程序,对象之间可以通过消息相互通信

第二章:

函数可无原型 这样的话默认参数就可以设置在函数的定义语句中内联函数可以加快程序运行速度,但是会增加代码的大小cout是预定义的标准输出流对象,

b.function();}

为了区分重载函数,把一个派生类中重定义基类的虚函数称为覆盖一个类中的虚函数说明只对派生类中重定义的函数有影响,对它的基类中的函数没有影响因为没有纯虚函数定义代码,所以在构造函数和析构函数内均不可调用纯虚函数


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3