乐趣区

关于c++:类和对象

一、前言

1、什么是类?

在生活中,咱们能够依据事物的个性,将事物进行演绎分类,比方:我、你和她,属于人类;葡萄、枇杷、苹果属于水果等。在代码世界中,也能够将一些有共性的货色抽取进去并实现,这就是 C ++ 中的类。
在 C ++ 中,把属性和办法进行封装,同时对属性和计划进行访问控制的数据类型就是类,类是形象的。
对类的不同成员设置不同的拜访权限就是进行类的封装,这样能够加强安全性和简化编程,使用者能够不用理解具体的实现细节,间接通过内部接口,以特定的拜访权限应用性能。

2、什么是对象?

对象是依据类创立的,申明类的对象和申明根本类型的变量是一样的

二、具体阐明

1、类的定义

class 类名
{
public:
    // 成员函数或数据成员的申明
protected:
    // 成员函数或数据成员的申明
private:
    // 成员函数或数据成员的申明
};

类的定义能够看成是类的内部接口,定义在.h 文件中;类成员函数的定义能够看成类的外部实现,个别写成.cpp 文件。
成员函数的定义如下:

返回值 类名:: 函数名(参数列表)
{
    函数体
    return 返回类型值;
}

如果函数的后面没有 类名::时,编译器会认为这是一个一般函数,因为没有阐明这个函数是哪一个类的;类名::同时也阐明了函数的作用域,在类作用域中,一个类的成员函数对同一个类的数据成员具备无限度的拜访权限。

2、类的初始化

在申明类的时候不能间接对数据成员进行初始化 ,因为类是一种形象的类型,不占有空间。
如:

class CTest
{
public:
    int nTime = 1;
    bool bFlag = false;
};

类中的所有成员都是 public 类型的,能够在定义类对象时对数据成员进行初始化,如:

class CTest
{
public:
    int nTime;
    bool bFlag;
};

CTest t1={1,false};

在类的构造函数中进行数据成员的初始化 ,构造函数是一种非凡的成员函数,不须要用户调用,在建设对象时主动执行。分为 2 种:在类内定义构造函数或者在类内申明,类外定义。
在建设对象的时候会为该对象调配存储单元,再执行构造函数,就会把指定的初值设置到对应数据成员的存储单元。
构造函数没有返回值,没有类型,只是对对象进行初始化。能够应用一个类对象初始化另一个对象,复制作用,这样就不必再次调用另一个类的构造函数。

退出移动版