1.25 C++ day2

思维导图

1.25 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)//矩形的宽和高的初始化函数
    {
        cout << "please enter the rectangle's height:" ;
        cin >> height;//从终端输入矩形的高
        cout << "please enter the rectangle's width:" ;
        cin >> width;//从终端输入矩形的宽
    }
    void set_w(int w)
    {
        cout << "please enter changed width:" ;
        cin >> width;//从终端输入更改后的宽
    }
    void set_h(int h)
    {
        cout << "please enter changed height:" ;
        cin >> height;//从终端输入更改后的高
    }
    void show()
    {
        int perimeter=(height+width)*2;//求矩形的周长
        int area=height*width;//求矩形的面积
        cout << "The rectangle's perimeter is " << perimeter << endl;//输出矩形的周长
        cout << "The rectangle's area is " << area << endl;//输出矩形的面积
    }
};

int main()
{
    Rect a;//用矩形类定义一个矩形a
    int w,h;//定义矩形的宽和高
    a.init(w,h);//初始化
    a.show();//输出矩形的周长和面积
    a.set_w(w);//更改矩形的宽
    a.set_h(h);//更改矩形的高
    a.show();//输出更改后的矩形的周长和面积
    return 0;
}

结果:

1.25 C++ day2_第2张图片

模拟面试

一.什么是内存泄漏,如何避免

答:内存泄漏是程序在位变量申请空间之后没有及时释放,随着时间的推移,内存泄漏会导致可用内存逐渐减少,最终导致程序崩溃或者系统运行缓慢

如何避免:及时释放内存

二.解释一下C语言中的堆和栈

答:堆区:

1. 由程序员手动申请、手动释放内存。

2. 堆区需要满足队列的思想,先进先出,变量先定义先分配内存,从小地址到大地址申请。

3. 堆区内存大小几G。

4. 堆区申请容易出现碎片化,借助链表实现,在堆区内存中依次遍历变量所需内存大小,

当找到合适的申请大小,则从链表中删除,把该内存分配给变量。

栈区:

1. 由计算机自动申请、自动释放内存。

2. 栈区需要满足栈的思想实现,先进后出,变量先定义后分配内存,从大地址到小地址申请。

3. 栈区内存大小几M。

4. 栈区会出现栈溢出情况。 

你可能感兴趣的:(c++,开发语言)