【c++】类和对象(一)——基础介绍

         c++是c语言的继承,是一种面向对象的计算机程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。

目录

 一、首先我们来明确什么叫做面向对象, 

二、c++所具有的三大特征:封装、继承、多态

三、访问限定符

四、this指针(thiscall调用约定)

五、成员方法的实现:

六、对象的生成和销毁


 一、首先我们来明确什么叫做面向对象, 

看下面的图:

【c++】类和对象(一)——基础介绍_第1张图片

        这个过程就成面向对象,对现实生活的实体进行抽象之后生成ADT(抽象数据类型),对应到计算机语言中,就相当于类,类中包含的成员变量就算是实体的属性,成员方法就是实体的行为,由类再进行实例化生成对象,对象就是抽象后的实体。

        那么什么是类,什么是对象呢?在现实生活中有属于同一类的对象。在面向对象软件中,也有很多共享相同特征的不同的对象,利用这些对象的相同特征为他们建立一个集合,这个集合就成为类。由类实例化的一个对象就可以代表这些具有相同特征的集合里的某一个。例如,学生的共同特征有属性:姓名,年龄,学号,班级等;行为:学习,吃饭,睡觉,娱乐等。为具有这些相同特征的学生建立一个类,称为学生类;那么,有学生类生成一个学生对象,这个学生对象就可以表示一个具体的学生;

二、c++所具有的三大特征:封装、继承、多态

三、访问限定符

 public:任意位置访问
             protected:本类、子类类中访问
             private:只允许在本类类中进行访问
c++中结构体当类去处理:结构体默认为public;类默认为private;

四、this指针(thiscall调用约定)

        this指针由系统提供,原型为:类名 *const this; 
        类中普通的成员方法都含有默认的参数this指针;
        普通成员方法调用以来对象调用;this指向对象所占的内存空间;

五、成员方法的实现:


    类中实现:inline
    类外实现:普通

六、对象的生成和销毁


对象的生成:
    1.对象开辟内存;
    2.调用构造函数初始化内存空间(系统所做)
对象的销毁:
    1.调用析构函数(堆资源释放)
    2.释放对象所占的内存(堆空间)

最后,我们创建一个简单的学生类,来具体展示一下这些知识点:

#include
#include

class Student
{
public:
	Student(int num,char *name,int age)//自己实现的构造函数
	{
		sname = new char[strlen(name) + 1]();
		strcpy(sname,name);
		snum = num;
		sage = age;
	}
    /*
        由于类中的成员变量都是私有的,我们需要通过一些公有的方法去访问需要拥到的成员变量
    */
	int GetNum()
	{
		return this->snum;
	}
	char* GetName()
	{
		return this->sname;
	}
	int GetAge()
	{
		return this->sage;
	}

	void Study(int num,char *name);
	void Eat(char *name);
	void Sleep(char *name)
	{
		std::cout<

运行结果:【c++】类和对象(一)——基础介绍_第2张图片

       当然在这里我在类中实现了构造函数,并没有实现析构函数,那么构造函数所初始化的内存空间是怎样释放的呢?等等问题,我们下次讨论。

你可能感兴趣的:(c++)