************************** 类 ****************************
1.类 :相同属性(数据成员)和行为特征(成员函数)的对象
2.成员函数:1)外联
class Tdate
{
public:
void set(int,int,int); //成员函数原型
.......
2)内部
class Tdate
{
public:
void set(int x,int y,int z); //成员函数原型
{ ......
}
两种成员函数有什么区别呢?各有什么好处?
************************** 对象 ****************************
3.对象:类的实例化
class A{ int x,int y }
void main()
{
A a(n,m) //对象a
}
4. 名字解析:s.set(123)【s为类A的对象】 t.set(123)【t为类B的对象】 两者不会产生二义性
this指针:指向对象的指针,【对象被创建时为其设置自身的指针】例如:
class A{
void BB(int k);
};
void A :: BB(int k)
{ kind = k } 相当于: this->kind = k;
主函数中:
A a;
a.BB (100); 【若有b对象,调用BB时可保证其数据成员值k的独立性】
5.带默认参数的成员函数、重载成员函数
************************** 构造、析构函数 ****************************
6.构造函数:自动进行对象 的初始化【定义可在类内或类外;一般为公有,也可设为私有】---至少有一个
1)重新定义 2)重载 3)带默认参数 4)默认构造函数
5)拷贝构造函数:用一个已有的对象来初始化一个被创建的同类对象
other为已有对象名
6)数据成员的初始化
析构函数:对象撤销时清理任务 --- 有且仅有一个
7.对象成员:类的数据成员为其他类的对象
8.静态成员:(为满足所有对象共享某个数据成员需求,关键字:static)实现对数据的共同的需求
1) 静态数据成员 static int x,y;
C++不检测静态成员处于何处,必须通过int A::i = 0;形式指明其作用域和初始值
2)静态成员函数
9.指向类成员的指针:
1)类外指向类内的指针变量
2)类外指向成员函数的指针数据
3)指向类内静态成员的指针