C++的类的声明及成员变量和成员函数

时间:2022-07-12 18:57:55

C++通过类及相关的封装、继承、多态和虚函数机制支持面向对象的程序设计和开发。

类是一类事物的抽象,它封装了描述这类事物的共同属性和行为的数据结构和方法。

C++中类的声明(也又称)式如下:

class 类名
{
访问范围说明符:
成员变量1;
成员变量2;
...
成员函数1声明;
成员函数1定义;
...
访问范围说明符:
更多成员变量;
更多成员函数声明或定义;
...
};

成员函数1类型 类名::成员函数1(参数列表)
{

}

成员变量是在类中声明的变量。同样地,成员函数是指在类中声明的函数,如上类的声明式所示,成员函数可以在类的声明体中定义,也可以在类的声明体之外定义。在类的声明体外定义的函数需要用类名和作用域运算符(类名::)限定函数所属的类。

声明的类是一种自定义的数据类型,可使用它来声明和定义变量,称为类的实例化,定义的变量称为类的对象。实例化的过程是为对象分配内存空间,对象所占内存空间的大小由其所有成员变量的大小之和。

在类的成员函数内部,可以直接使用类中的成员变量和成员函数,不必显示地去引用某个对象。而类外的函数调用类的成员函数,要使用标准的成员访问语法访问,通过对象、对象指针和对象引用访问对象的成员变量和对应的类的成员函数。以下是访问类的成员变量和函数的三种方式:

对象名.成员名;
对象指针->成员名;
对象引用.成员名
/*****************************************
* class_member_function.cpp *
* *
* C++的类定义和成员函数 *
*****************************************/


class CRectangle
{
private:
int w;
public:
int h;
void Init(int _w, int _h)
{
w = _w;
h = _h;
}
int Area();
int Perimeter()
{
return 2 * (w + h);
}
};

int CRectangle::Area()
{
return w * h;
}

#include <iostream>

int main()
{
CRectangle r;
r.Init(10,20);
std::cout<<"Its height is "<<r.h<<std::endl;
std::cout<<"Its area is "<<r.Area()<<std::endl;
std::cout<<"Its perimeter is "<<r.Perimeter()<<std::endl;

return 0;
}

C++的类的声明及成员变量和成员函数

参考文献

  1. Bjarne Stroustrup著,裘宗燕译. C++程序设计语言(特别版).机械工业出版社 2009.
  2. https://www.coursera.org/course/pkupop