在类中漫游

1.基本概念

类的定义:

struct class都可以建立一个自定义类型,在c++中他们的区别仅仅是默认的访问控制不同.
结构: class  X  {...};

控制访问:

public: 公用部分,外部能够访问

privater: 私有部分,只有类内部和友元能访问

还有一种能让子类也能访问的方式

构造与析构:

构造函数具有与类同样的名字且不带返回值,如果一个类有构造函数,那么所有对象的初始化都将通过这个函数完成

在构造函数的形参表中,也能给每个参数一个默认值,

其他:

 按照默认约定,类对象可以复制,并有一个默认复制构造函数, 他把每个成员进行复制,你也可以自己定义
X::X(const X&);

在成员函数的形参表后, 在{}前的 const,代表这个函数不会修改类的成员
学会灵活运用子引用,
如果一个函数是在类内部定义的,而不是声明,那他就被作为一个在线函数, inline
这种函数应该是小的,频繁使用的函数

协助函数,一般定义在类申明的文件中,也可放到同一个名字空间里
 一个A类包含令另一个类B, 当建立一个类A的对象时候,如果未提供初始值,用的默认构造函数, 那么类A还会去调用类B或者A的基类调用它们的默认构造函数

局部变量的构造函数将在控制现成运行到此时构造,离开块时析构,析构的顺序与构造相反

注意:

如果类中的成员是指针类型,就必须明确定义 复制赋值构造函数

X& operator==(const X&);  

否则当建立另一个对象时,用前一个对象的值初始化就会将指针指向前一个对象的指针所指向的内存,

当析构时,会析构2次!

有 new  就得有 delete

在类中成员的构造总是按照成员声明的顺序进行,所以在构造函数初始化列表中最好也一致的用此顺序,析构则相反

 坚持用构造函数初始化列表初始化,这样更加效率,而不选择赋值




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值