一.类的声明
class 类名
{
private: 私有数据成员和私有成员函数
public: 公有数据成员和公有成员函数
protected: 保护数据成员和保护成员函数
}; 这个“;”结束符不能少
如果类的成员没有访问符号,则默认为私有的。
二.成员函数
成员函数包括普通函数和内联函数。
内联函数又称为内置函数。当程序中出现对内联函数的调用时,C++编译器直接将函数体中的代码插入到调用该函数的语句处,同时用实参来代替形参。 使用内联函数的好处是减少了函数调用所产生的额外开销,可以提高程序运行的效率。通常情况下,对于要频繁调用的函数,如果其函数体中的代码很短,可以将其定义为内联函数。
#include "stdafx.h"
#include <iostream>
using namespace std;
inline void PrintInfo(int m,int n);
int _tmain(int argc, _TCHAR* argv[])
{
int i,j;
for(i=1;i<=50;i++)
{
for(j=1;j<=100;j++)
PrintInfo(i,j);
}
return 0;
}
inline void PrintInfo(int m,int n)
{
cout<<m<<" "<<n<<endl;
}
注意事项:
在内联函数的函数体中,不能有复杂的控制语句,如for语句和switch语句等。 使用内联函数时,其函数体在使用位置被直接展开,这是一种以空间换时间的手段。如果内联函数较长,调用的位置又很多,就会大大加长程序代码的长度,造成大的空间开销。因此,只有很短(如1~5条语句)且调用频繁的函数才考虑定义为内联函数。
三.对象的定义与使用
#include "stdafx.h"
#include <iostream>
using namespace std;
class CPoint
{
private:
int x,y;
public:
void SetPoint(int m, int n);
int GetX();
int GetY();
};
void CPoint::SetPoint(int m,int n)
{
x = m;
y = n;
}
int CPoint::GetX()
{
return x;
}
int CPoint::GetY()
{
return y;
}
int main()
{
CPoint point1,*p; ///定义对象point1和指向对象的指针p
p = &point1; ///给指针p赋值
CPoint &r1 = point1;///定义对象引用
point1.SetPoint(400,800);
cout<<"point1.x ="<<point1.GetX()<<" "<<"point1.y = "<<point1.GetY() <<endl;
p->SetPoint(100,200);
cout<<"point2.x ="<<p->GetX()<<" "<<"point2.y = "<<p->GetY() <<endl;
r1.SetPoint(354,467);
cout<<"point3.x ="<<r1.GetX()<<" "<<"point3.y = "<<r1.GetY() <<endl;
return 0;
}
运行结果如下: