C++Primer学习笔记---类

类经常被称为用户定义的类型(UDT)
-----------------------------------类定义

1 类定义包括两部分:类头,由关键字class及其后面的类名构成。类体,由一对花括号包围起来。类定义后面必须接一个分号或一列声

明。例如:
class Screen { /* ... */ };
class Screen { /* ... */ } myScreen, yourScreen;

2 除了静态static 数据成员外数据成员不能在类体中被显式地初始化例如:
class First {
int memi = 0; // 错误
double memd = 0.0; // 错误
};

3 友元声明以关键字friend 开头它只能出现在类的声明中由于友元不是授权友谊的类的成员所以它们不受其在类体中被声明的public 

private 和protected 区的影响这里我们选择把所有友元声明组织起来放在类头之后


4 因为只有当一个类的类体已经完整时它才被视为已经被定义所以一个类不能有自身类型的数据成员但是当一个类的类头被看到时它就  

被视为已经被声明了所以一个类可以用指向自身类型的指针或引用作为数据成员。 

5 虽然每个类对象都有自己的类数据成员拷贝但是每个类成员函数的拷贝只有一份
例如:
Screen myScreen, groupScreen;
myScreen.home();
groupScreen.home();
当针对对象myScreen 调用函数home()时在home()中访问的成员_cursor 是对象myScreen 的数据成员当针对对象groupScreen 调用home

()时数据成员_cursor 引用的是对象groupScreen 的数据成员但是两者调用的是同一个函数home() 同一个成员函数怎样能引用两个不同

类对象的数据成员呢这种支持是通过this 指针实现的.

6 只有被声明为const 的成员函数才能被一个const 类对象调用关键字const 被放在成员函数的参数表和函数体之间对于在类体之外定

义的const 成员函数我们必须在它的定义和声明中同时指定关键字const.

7 构造函数和析构函数是两个例外即使构造函数和析构函数不是const 成员函数const类对象也可以调用它们当构造函数执行结束类对象

已经被初始化时类对象的常量性就被建立起来了析构函数一被调用常量性就消失所以一个const 类对象从构造完成时
刻到析构开始时刻这段时间内被认为是const.

8 13.36 mutable数据成员?

转载于:https://www.cnblogs.com/wangtianxj/archive/2009/02/26/1398403.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值