9点C++(5)

来源:互联网 发布:手机音乐可视化软件 编辑:程序博客网 时间:2024/05/16 06:38

1、 类可以允许其他类或者函数访问它的非公有成员,方法是令其他类或者函数成为它的友元(friend),如果类想把一个函数作为它的友元,只需增加一条以friend关键字开始的函数声明语句即可;
2、 友元声明只能出现在类定义的内部,但在类内出现的具体位置不限。友元不是类的成员也不受它所在的区域访问控制级别的约束;
3、 一般来说,最好在类定义的开始或结束前的位置集中声明友元;
4、 封装的益处:确保用户代码不会无意间破坏封装对象的状态,被封装类的具体实现细节可以随时改变,而无需调整用户级别的代码,防止由于用户原因造成的数据破坏;
5、 可变数据成员:在一个const成员函数内,可以通过在变量的声明中加入mutable关键字做到数据成员可变;
6、 一个const成员函数如果以引用的形式返回*this,那么它的返回类型将是常量引用;
7、 当一个成员调用另一个成员时,this指针在其中隐式地传递,当一个非const的成员函数调用一个const成员函数时,this指针将隐式地从指向非const指针转换成指向指向const指针;
8、 不同名的两个类即使它们的成员一模一样,这两个类也是两个不同的类,即使两个类的成员列表完全一致,它们也是不同的类型,对于一个类来说,它的成员和其他任何类的成员都不是一回事;
9、 我们可以仅仅声明一个类而暂时不调用它,这种声明被称为前向声明(forward declaration),仅仅声明的类在声明之后,定义之前是一个不完全类型;(class Screen)

原创粉丝点击