浅谈C++类

来源:互联网 发布:变老软件电脑版 编辑:程序博客网 时间:2024/06/11 09:23

定义类:

可以把类定义放在头文件中,类方法的定义放在源文件中。如下
main.cpp
#include<iostream>#include<cstdio>#include"head.h"using namespace std;int main(){NODE t;t.setX(1);t.setY(2);cout << t.getX() << endl << t.getY() << endl;return 0;}

head.h
#ifndef node#define nodeclass NODE{private:int x, y;public:void setX(int x);void setY(int y);int getX();int getY();};#endif
file.cpp
#include"head.h"void NODE::setX(int x){this->x = x;}void NODE::setY(int y){this->y = y;}int NODE::getX(){return x;}int NODE::getY(){return y;}

当然函数定义也可以直接写在类声明中,这样子将默认该函数是内敛函数。即以下两个方法是等价的。
class NODE{private:int x, y;public:void setX(int x){this->x = x;}};

class NODE{private:int x, y;public:void setX(int x);};inline void NODE::setX(int x){this->x = x;}
因此,一般做法是成员函数定义与类声明分开,否则成员函数将默认为内敛函数,如果该成员函数很大,将影响效率。若函数很小,则可以把定义放在类声明中。内敛函数要求每个使用它的文件都要对其定义,因此可以把内敛函数定义放在头文件中。
需要注意的是,通过某个类创建的每个对象都有自己的存储空间,用于存储其内部变量和类成员。但同一个类的所有对象共用同一组方法(即函数),即每种方法只有一个副本。即每个对象自己的独立的存储空间存的是基本数据变量。当不同对象调用同一个方法时,它们将执行同一个代码块,只是将这些代码块用于不同数据。在OOP中,调用成员函数被称为发送消息。


原创粉丝点击