C++之封装(2)

1)对象数组

class A{
    public:
        int x;
}
A a[10];
A *p=new A[10];

2)对象成员
一个类的成员对象为一个类对象,
当创建一个该类的对象时,先创建该类中的对象成员,再创建类对象;
当销毁一个对象时,顺序正好相反

3)深拷贝和浅拷贝
浅拷贝:简单的进行数据拷贝,当类中存在指针成员变量时,当使用浅拷贝时,会使得指针指向同一块内存,会存在释放错误,导致程序崩溃
深拷贝:在堆中申请一块内存,进行拷贝

4)对象指针
在堆中定义一个类对象时,返回一个类对象的指针,该指针指向的位置为类的第一个变量存放的地址

5)对象成员指针
指向对象的一个指针作为另一个类对象的成员;在构造函数中,在堆中申请内存,在析构函数中进行释放

class A{};
class B{
    B(){
        a=new A();
    }
    ~B(){
        delete a;
    }
    A *a;
};

6)常对象成员和常成员函数
常对象成员通过构造函数初始化列表进行初始化;
常成员函数不能修改成员对象的值(why:因为对象调用成员函数是通过this指针隐式调用,加上const,表明无法修改)
const 可以作为重载依据;

7)常指针和常引用

class A{};
A a;
const A &b=a;
const A *p=&a;

只能调用常成员函数;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值