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

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;
}

类的声明和成员函数使用

参考文献

  1. Bjarne Stroustrup著,裘宗燕译. C++程序设计语言(特别版).机械工业出版社 2009.
  2. https://www.coursera.org/course/pkupop
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值