ECE220生存指南[06]MP11暨期末复习

本文分享了一名学生在ECE220课程期末考试前的C++学习冲刺计划,包括复习流程、函数指针与回调的基础知识,并探讨了类的概念与默认成员函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法旅人

2021年12月23日

虽然因为Final 提前,MP11的ddl被延后到12.31了。但学习编写它对于考试还是有助力的,因此这里开个头,写上一半函数。

实际上,ECE220的期末往往是没有足够的时间去好好学习C++的知识的(MP多,Final考试紧张,比如今年我们这届就是MT2和FINAL只相隔一周(因为疫情的反复推迟),导致我们实际上只有不到一周时间复习,这种节点下,我的决策是exam-oriented learning,algorithm is as followed:

char Review_Procedure(day){

       尝试做2018年卷子,浏览知识点; √

       向武大的哥们借C++从开头到类的继承部分的PPT   ; √

       阅读PPT;√

       while(day>1){

                  学课本 & 看视频; √

                  day--;

                  }

      刷期末试卷;

      对照答案学习知识;

      If(day == 0)return(“Good luck for 220 exam!”)

}

在正式写code前,让我们看看基础知识:

  1. Function Pointer & Call Back

<1>函数指针

函数回调本质为函数指针作为函数参数,函数调用时传入函数地址,这使我们的代码变得更加灵活,可复用性更强。

常用于动态变化要求高的程序,留有指针接口方便了我们进行更新API,添加修改新功能,比起愚蠢的COPY-AND-PASTE要好多了

这篇文章写的是相当好,比Lumetta上课讲的牛马要好多了

C语言-函数指针(Function Pointer)及进阶 - 简书 (jianshu.com)

核心部分代码:

void compareNumberFunction(int *numberArray, int count, int compareNumber, BOOL (*p)(int, int)) {

    for (int i = 0; i < count; i++) {

        if (p(*(numberArray + i), compareNumber)) {

            printf("%d\n", *(numberArray + i));

        }

    }

}// Seems that the most significant part is to transpose pointer inside

牛马:

<2>函数指针

int (*findFunction(char *))(int, int); 

  1. findFunction是一个标识符
  • findFunction()是一个函数
  • findFunction(char *)函数接受一个类型为char *的参数
  • *findFunction(char *)函数返回一个指针
  • (*findFunction(char*))()这个指针指向一个函数
  • (*findFunction(char*))(int, int)指针指向的函数接受两个整形参数
  • int (*findFunction(char *))(int, int)指针指向的函数返回一个整形

C++ C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。

类用于指定对象的形式,它包含了数据表示法和用于处理数据的方法。类中的数据和方法称为类的成员。函数在一个类中被称为类的成员

       感觉类和结构体有点像,都是程序员新定义了一个容器,类常被比作【蓝图】,或许是因为他能用于进一步承载对象的属性与操作

例:

class Box

{

   public:  /* 关键字 public 确定了类成员的访问属性。在类对象作用域内,公共成员在类的外部是可访问的。*/

      double length;   // 盒子的长度

      double breadth;  // 盒子的宽度

      double height;   // 盒子的高度

};

其实,根据继承的思想,我们可能认为类会自动生成几个默认函数:

C++类的六个默认成员函数_cherrydreamsover的博客-优快云博客_类的6个默认成员函数

2, 构造函数&析构函数

3, Crash 的可能原因

一共六种(32条消息) C/C++程序崩溃原因分析_bruze_zhu的博客-优快云博客_c++程序崩溃https://blog.youkuaiyun.com/bruze_zhu/article/details/102514711

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值