C++面向对象程序设计Note.4

本文详细介绍了面向对象编程的三大特性——封装、继承和多态,重点讲解了类和对象的概念,包括类的声明、成员函数(内联和外联)、对象的使用以及构造函数和析构函数的作用。此外,还讨论了如何通过构造函数和析构函数进行对象初始化和清理,以及如何避免内存泄漏。
摘要由CSDN通过智能技术生成

类和对象Ⅰ

面向对象的程序设计有三个主要特征:封装、继承、多态。封装的实现通过类(Class)

Class是对一组具有相同属性特征行为特征的对象的抽象

Class name{
   
private: //(私有类型,只有被的成员函数、友元函数访问)
public: //(公有类型)
protected//(保护类型)
};
  1. 三种类型不一定都有,至少含有一种类型
  2. 不能在类声明中给数据成员赋初值
  3. 数据成员可以为任何类型,但是前面不能有autoregisterextern类型进行说明;

成员函数的定义

成员函数(C++术语)和方法(面向对象方法术语)指的是同一实体

  • 成员函数的定义形式:
    1.内联函数:代码较少,可以直接在类中定义
    2.外联函数:代码较多,在类外对函数进行定义
    但如果使用了inline声明,则该函数属于内联函数(内置函数)

外联注意点:缀上类名,类名和函数名间加上作用域运算符::,说明成员函数从属于哪个类。

对象的使用

class Book{
   
......
}book1, *ptr;
ptr = &book1;
则有:ptr -> Input() == book1.Input == (*ptr).Input

对象也可以取别名:

eg: Book &b = book1;

构造函数和构析函数:

为了方便对象的初始化和清理工作,两个特殊的成员函数应运而生


构造函数:

创建对象时,为对象分配空间,进行初始化。

  • 定义(声明)构造函数原型格式:类名(形参列表)
  • 类外定义构造函数格式:
  类名::类名(形参列表){
   
 	......
  }

以上不是两种定义方法,是一套的操作流程

特点:

  • 1.名字必须与类的一样;
  • 2.构造函数可以是任何类型参数,也不能被指定为任何类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值