嵌入式学习-C++-Day2

思维导图

嵌入式学习-C++-Day2_第1张图片

作业

自己封装一个矩形类(Rect),拥有私有属性:宽度(width)、高度(height),
定义公有成员函数:
初始化函数:void init(int w, int h)
更改宽度的函数:set_w(int w)
更改高度的函数:set_h(int h)
输出该矩形的周长和面积函数:void show()
代码如下

#include 

using namespace std;

class Rect
{
private:
    int width;
    int height;
public:
    void init(int w,int h)
    {
        width = w;
        height = h;
    }
    void set_w(int w)
    {
        width = w;
    }
    void set_h(int h)
    {
        height = h;
    }
    void show()
    {
        cout << "周长为:" << 2*(width+height) << endl << "面积为:" << width*height << endl;
    }
};

int main()
{
    Rect rec;
    rec.init(3,7);
    rec.show();
    rec.set_h(5);
    rec.set_w(9);
    rec.show();
    return 0;
}

实现结果
嵌入式学习-C++-Day2_第2张图片

记录的重点

1.引用

定义的要求

1.定义引用时,必须使用引用目标对其进行初始化
2.引用与其目标是同一内存地址
3.引用与其目标所占内存空间大小一致
4.引用的目标一旦指定,后期就不能修改了
5.一个存储空间,可以有多个引用,多个引用与其目标都是同一内存地址

2.传值,传址,传引用的区别

1.传值,一定不会改变实参
2.传址,可能会改变目标的值
3.传引用,可能会改变目标的值

指针与引用的区别

指针是存放地址的变量
引用就是个别名
1、指针可以先定义后指向,而引用必须定义的同时初始化
2、指针后期可以改变指向,而引用的目标一旦指定,后期就不能修改了
3、指针定义需要申请空间,而引用不需要申请空间
4、有指针数组,没有引用数组,因为引用不是数据类型
5、有二级指针,没有二级引用

3.内联函数和带参宏替换的区别

1.内联函数是函数调用,带参宏替换是替换
2.内联函数是在编译的时候展开,带参宏替换是在预处理展开。

4.类访问权限的介绍

public:该权限是公共权限,表示该权限下的属性(变量)、方法(函数),可以在类内、子类、类外被访问。
protected:该权限是受保护权限,表该权限下的属性(变量)、方法(函数),可以在类内、子类被访问,类外不可以被访问。
private:该权限是私有权限,表示该权限下的属性(变量)、方法(函数),只能在类内被访问,子类、类外不可以被访问。

5.C语言中的结构体和C++中结构体的区别

1.C语言中的结构体在C++中依然适用。
2.C++中的结构体可以有函数,而C语言不可以。
3.C++中的结构体可以给变量赋初始值,而C语言中不可以。
4.C++中的结构体在定义结构体变量时,可以省略关键字struct不写,而C语言中不可以。
5.C++中的结构体中有访问权限,而C语言中的结构体没有访问权限。
6.C++中的结构体有特殊的成员函数,而C语言中的结构体没有。
7.C++中的结构体存在继承,而C语言中的结构体没有继承。

你可能感兴趣的:(学习,c++,算法)