标题 水了两天后的第一篇正规总结
内容
1 this 指针的使用示例
#include <iostream>
class Q
{
int a,b;
public:
Q(int t1,int t2)
{
a=t1;
b=t2;
}
void print()
{
std::cout<<a<<'\t'<<b<<std::endl;//类Q的成员函数add的功能是将当前对象的数据成员分别加上参数值a后,再加上参数对象t。
Q add(int a, Q &t){
this->=this->a+a+t.a;//在这个函数中参数a和成员a同名,所以成员a要用this->a来表示。
b=b+a+t.b;
return *this;
}
}
};
int main()
{
Q q1(1,2),q2(0,0);
q1.print();
q1.print();
q1=q2.add(5,q1);
q1.print();
q2.print();
}
2 静态成员
类的静态数据成员为类的所有对象共享,他们共用一个内存空间,如果改变了其中一个静态数据成员,其他所有的都改变。使用时要用关键词 static
在类体中静态数据成员引用的一般格式
static 数据类型 静态数据类型 静态数据成员名
体外
类型名 类名::静态数据成员名(初始值);int R::b(5)
类型名 类名::静态数据成员名=初始值;例如 int R::b=5
使用示例
#include <iostream>
class R
{
int a;
static int b,c;
public:
R(int t)
{
a=t;
}
void add()
{
a++;b++;c++;
}
void print()
{
std::cout<<a<<'\t'<<b<<'\t'<<R::c<<std::endl;
}
};
int R::b,R::c=5;
int main()
{
R r1(0),r2(3);
r1.print();
r2.print();
r1.add();
r2.add();
r1.print();
r2.print();
}