正文

第二课 C++经典知识回顾(一)2007-09-22 12:33:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/lym51/29592.html

分享到:

第二课:C++经典知识回顾   一、类的定义与应用 在C语言中,我们学过结构体,用于将描述某一对象的若干变量包装成一个整体使用,但没有但没有将与该对象相关的函数包含进来。C语言中的结构体只能描述一个对象的特征(属性),不能描述一个对象的动作(方法)。在C++中,我们是通过类的定义来解决这个问题的,在类的定义中,不仅可以包含变量,还可以包含函数。 我们通过一段程序来讲解类的使用。 #include "iostream.h" class CPoint { public:        int x1;        int y1;        void Output();        CPoint();        CPoint(int x2,int y2)        ~CPoint(); private:        int x2;        int y2;        int *pCount; }; //注意类和结构定义完后,一定要用";"号结尾,忘记";"是许多人常犯的错误。 //在c++中,//......用于注释一行,/*......*/可以注释多行。 void CPoint::Output() {        if(pCount)               (*pCount)++;        else        {               pCount=new int;               *pCount=1;        }        cout<<"the first point is ("<<x1<<','<<y1<<')'<<endl;        cout<<"the second point is ("<<x2<<','<<y2<<')'<<endl; } CPoint::CPoint() {        pCount=0;        cout<<"the first constructor is calling"<<endl; } CPoint::CPoint(int x2,int y2) {        this->x2=x2;        this->y2=y2;        pCount=0;        cout<<"the second constructor is calling"<<endl; } CPoint::~CPoint() {        if(pCount)        {               cout<<"你调用了Output成员函数共"<<*pCount<<"次"<<endl;               delete pCount;        }        else               cout<<"你还没有调用过Output成员函数"<<endl;        cout<<"the deconstructor is calling"<<endl; } void Output(CPoint pt) {        cout<<"the first point is ("<<pt.x1<<','<<pt.y1<<')'<<endl;        //cout<<"the second point is ("<<pt.x2<<','<<pt.y2<<')'<<endl;        //上面被注释的语句会造成编译错误,因为不能从类的外部访问类中的私有成员。 } void main() {        if(1==1)//限定pt变量的有效范围        {               CPiont pt;               cout<<"请输入两个整数";               cin>>pt.x1>>pt.y1;               //pt.x2=10;               //pt.y2=10;        //上面被注释的语句会造成编译错误,因为不能从类的外部访问类中的私有成员。               pt.Output();               pt.Output();               pt.Output();//故意演示Output被调用多次的情况。               Output(pt);        }        CPoint pt(10,10);        pt.Output(); }   上面的代码定义了一个类CPoint,其中包含有变量,称之为成员变量,也包含有函数的声明,称之为成员函数。 在类定义之外,我们必须对成员函数进行实现,成员函数的实现格式为: 返回类型 类名::函数名(参数列表) {        函数体代码 } 上面的代码也编写了一个名为Output的全局函数,注意与类CPoint中的Output成员函数区别。 上面的代码还编写了一个main主函数,其中的代码演示了如何使用CPoint类。  

阅读(4936) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册