【C++面向对象备忘录】1 基础

2018-02-27  本文已影响0人  shawn233

类定义的一般格式

class 类名 {
    [private:]
        私有数据成员和成员函数
    public:
        公有数据成员和成员函数
};

this指针

每个成员函数都有一个隐藏的指向本类型的指针形参this,它指向当前调用成员函数的对象

如对函数

void create(int n, int d) { num = n; den = d;}

经过编译后,实际函数为

void create(int n, int d) 
    { this->num = n; this->den = d;}

必须在初始化列表中初始化的情况

【BUG】如果类成员有指针,而拷贝的时候只拷贝了指针,则可能在一个对象析构时,导致其他对象的数据丢失。

拷贝构造函数的应用场合

Class obj1(args...);

//Type1
Class obj2 (obj1);

//Type 2
Class obj = Class(args...); //先构造临时对象,再拷贝构造obj对象
Class obj2 = obj1;

对象的生命周期

  1. 局部变量先消失,然后是静态局部变量, 最后是全局变量;
  2. 后创建的先消失。
上一篇下一篇

猜你喜欢

热点阅读