类(Class)

  • 类的实质是数据类型,类似于int、char等基本类型,不同的是它是一种复杂的数据类型。因为它的本质是类型,而不是数据,所以不存在于内存中,不能被直接操作,只有被实例化为对象时,才会变得可操作。

  • 类定义
class 类名{
public:
 //公有成员。
private:
 //私有成员
protected:
 //保护成员
}; 
  1. 公有成员、私有成员、保护成员均包含数据成员和成员函数两部分,彼此没有顺序之分。一个public/private/protected关键字下可以跟多个成员,直到下一个public/private/protected关键字。如果成员前面没有public/private/protected关键字,默认为私有成员。

  2. private 表示该部分内容是私密的, 不能被外部所访问或调用, 只能被本类内部访问; 而 public 表示公开的属性和方法, 外界可以直接访问或者调用。

  3. 一般来说类的属性成员都应设置为private, public只留给那些被外界用来调用的函数接口, 但这并非是强制规定, 可以根据需要进行调整。

  4. 类的数据成员是类型,所以不能被赋值,声明数据成员和声明普通变量的格式相同,比如“int n;”。

  • 举例

在类定义时定义成员函数。

#include <iostream>
using namespace std;
class Point{
    public:
        void setPoint(int x, int y){ //实现setPoint函数
            xPos = x;
            yPos = y;
        }
        void printPoint(){       //实现printPoint函数
            cout<< "x = " << xPos << endl;
            cout<< "y = " << yPos << endl;
        }
    private:
        int xPos;
        int yPos;
};

int main(){
    Point M;        //用定义好的类创建一个对象 点M
    M.setPoint(10, 20); //设置 M点 的x,y值
    M.printPoint();     //输出 M点 的信息
    return 0;
}

在类外定义成员函数。

返回类型 类名::成员函数名(参数列表) 

#include <iostream>
using namespace std;
class Point{
    public:
        void setPoint(int x, int y); //在类内对成员函数进行声明
        void printPoint();
    private:
        int xPos;
        int yPos;
};

void Point::setPoint(int x, int y) {//通过作用域操作符 '::' 实现setPoint函数
    xPos = x;
    yPos = y;
}
void Point::printPoint() {      //实现printPoint函数
    cout<< "x = " << xPos << endl;
    cout<< "y = " << yPos << endl;
}

int main(){
    Point M;        //用定义好的类创建一个对象 点M
    M.setPoint(10, 20); //设置 M点 的x,y值
    M.printPoint();     //输出 M点 的信息
    return 0;
}

猜你喜欢

转载自blog.csdn.net/xykimred/article/details/81666058