C++类的成员变量和成员函数
类是一种数据类型,它类似于普通的数据类型,但是又有别于普通的数据类型。类这种数据类型是一个包含成员变量和成员函数的一个集合。
类的成员变量和普通变量一样,也有数据类型和名称,占用固定长度的内存空间。但是,在定义类的时候不能对成员变量赋值,因为类只是一种数据类型,本身不占用内存空间,而变量的值则需要内存来存储。
类的成员函数也和普通函数一样,都有返回值和参数列表,它与一般函数的区别是:成员函数是一个类的成员,出现在类体中,它的作用范围由类来决定;而普通函数是独立的,作用范围是全局的,或位于某个命名空间内。
还有两个特殊的特征:
1:定义成员函数时,使用作用域解析运算符(::)来标识函数所属的类;
如 void Stock::update(double price) 意味着update()函数是Stock类的成员;
2:类方法可以访问类的private组件;
关于public 和private:
1、public修饰的成员变量
在程序的任何地方都可以被访问,就是公共变量的意思,不需要通过成员函数就可以由类的实例直接访问
2、private修饰的成员变量
只有类内可直接访问,私有的,类的实例要通过成员函数才可以访问,这个可以起到信息隐藏
控制对成员的访问:公有还是私有;
在C++ 语言中class是定义类的关键字,C++中也可以使用struct定义类;struct定义的成员函数默认是public,class定义的默认为private;
C++类的定义:
C++中使用关键字 class 来定义类, 其基本形式如下:
class 类名
{
public:
//公共的行为或属性
private:
//公共的行为或属性
};
类的实现:
#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;
}
结果输出,很明显了:x=10 y=20;这个程序比较简单,就是简单的函数调用;