C++第三节:二次删除、内存泄漏

类和对象的使用、二次删除、内存泄漏

1、类和对象的使用:

     1.1 可以向一个函数传递对象作为参数,对象也可以作为函数的返回值,有传值、传指针、传引用三种方式

     1.2 为了避免对象的拷贝,经常传递对象的引用,并使用const避免被修改(const & x)

     1.3 如果传值方式返回,系统将创建一个临时对象,来接受返回值

     1.4 可以把一个对象赋值给另外一个对象,对象每个成员的值,将一对一拷贝到新的对象,称为逻辑拷贝或浅拷贝

2、二次删除、内存泄漏 

     2.1 如果对象a,b含有指针成员变量,而指针变量又指向堆上空间,将只拷贝指针成员变量本身的值,造成两个对象的指针指向同一堆上的内存空间,删除对象时造成二次删除

     2.2 二次删除中,如果对象a的指针成员变量原来指向堆上空间,将对象b赋值给a,则原来指向的堆上空间没有指针变量控制,造成内存泄漏

3、this指针

     3.1 每个对象都隐式的包含了一个成员变量,this

     3.2 this是一个指针,指向对象自己,其值是对象的地址


A、简单复合类

Computer2.h

#ifndef __C__No728Class__Computer2__
#define __C__No728Class__Computer2__

#include <iostream>
using namespace std;
class Computer2
{
private:
    int lines;
    double width;
    double height;
public:
    Computer2(int l, double w, double h);
    ~Computer2();
    void print();
};
#endif /* defined(__C__No728Class__Computer2__) */
Computer2.cpp

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值