C++类和对象特性

本文介绍了C++中面向对象编程的基本概念,包括类的定义、对象的声明和访问、封装性、继承性和多态性等核心特性。通过实例讲解了类成员的访问属性、对象的访问方式以及面向对象编程的三大特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 类是用户自定义的类型,表明某一类对象的共性和特征。
    类是一种抽象类型,对象是具体的。

  2. 类的定义:

class 类名
{
        public:   //类成员的访问属性
               double length;
		…   //声明列表
}

类成员的访问属性:public、protected、private (默认为private)
其中,公共数据成员(public)在类的外部可直接访问。

  1. 对象的声明和访问:
class Bird
{
       char color;  // 私有成员
       public:
              char sex;
              double height;
              void  setColor(char ch);
}void Bird::setColor(char ch)
{
       color=ch;
}

对象的声明:
类名 对象名;
如Bird bird1;

对象的访问:
(1) 对于公有成员
在类的外部可使用 类名.成员变量/函数 直接访问。如bird1.sex = ‘M’;

(2) 对于私有成员
在类的外部是不可访问的,只有类和友元函数可以访问私有成员。
可在public区域定义相关函数,在类外部调用这些函数来设置私有成员的数据。
如 bird1.setColor(‘b’);

(3) 对于保护成员
在类的外部也是不可访问的。除了类和友元函数可以访问外,在派生类中也是可访问的。

  1. 面向对象的3大特性
    (1) 封装性
    将部分代码和数据封装在一起,隐藏这部分的属性和实现细节,仅对外公开接口,从而保证数据安全,避免被不可信的人篡改。

可通过创建类来支持封装和数据隐藏。

(2) 继承性
表现类之间的关系,它可减少代码和数据的冗余,提高效率。

① 基类和派生类
定义形式:

 class 派生类名称: 访问修饰符 基类名称
 {
          //声明列表
 };

(未使用访问修饰符时,默认为private)

② 访问控制
派生类可访问基类的public成员和protected成员。若基类成员不想被派生类的成员函数访问,则应在基类中声明为private。

③ 继承类型(通过访问修饰符指定)

基类publicprotectedprivate
公有继承publicprotectedprivate
保护继承protectedprotectedprivate
私有继承privateprivateprivate

④ 多继承

即一个子类有多个父类,继承了多个父类的特性。

定义形式:

class 派生类名称:继承方式1 基类名1,继承方式2 基类名2,…
{
         //派生类类体
};

(3)多态性

即多种形态:一接口,多方法。

多态性允许将子类类型的指针赋值给父类类型的指针,它在C++中是通过虚函数实现的。

虚函数
虚函数是在基类中用关键字virtual声明的函数。在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数。
这样便可根据所调用对象的类型来选择调用的函数,即动态链接。

参考:https://www.runoob.com/cplusplus/cpp-tutorial.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值