C++面向对象速成笔记

B站链接:【c++面向对象编程速成!90分钟搞定-哔哩哔哩】 https://b23.tv/vC5iBY3

C语言:int a =10

1.int表示整数类,这是系统自带的一个类,a则是这个类的一个对象

2.float,char都是系统自带的类

一、面向对象编程

1.创建自己的类

2.创建自己的对象

3.例如:学生类 student,对象张三李四,好比int a;int n

形式:

class student//这个大括号里的叫类定义

{

string name;//学生的名字

int age;//学生的年龄

}

类名:student

类里两个内容,年龄名字,叫做类的成员数据,或者叫属性,类比Int a = 10,10就是a的属性,

到这里为止,类和C语言的结构体还是一样的。

二、公有和私有的初步概念

在类的定义里,形式如

class student //这个大括号里的叫类定义

{

public:

string name;

private:

int age;

}

name公有:类的外部(主函数里或者其他类)可以读写name的值

age私有:类的外部外面看不到

可以只有public:

1.可以将名字和年龄都写在public,初学者可以先不写private;

2.没有private的类相当于结构体。

三、如何使用一个类

类被定义后,就创造类的对象,形式和int a 一样

student aa;

创造一个student类的对象,名字叫做aa

aa.age=20;//野路子 语法没错

给aa的属性赋值,和结构体一样

根据传入的参数来识别调用哪一个set

阶段总结

构造函数 = aa对象初始化

创建对象时同时给他赋值

class student//类定义里先申明构造函数
{
public:
 int age;
 string name;
 student();//这是构造函数,没有输入值和返回值,并且名字和类一样
 student(int a, string b);//同名的构造函数申明,即重载,带2个输入参数,即名字和年龄
//函数名一样,通过输入参数的不同达到区别,这就是重载(reload)
}

student::student()//构造函数定义,特点就是冒号两边时一样的,注意这个函数没有输入值
{
age = 20;//构造函数里,可以对全部的成员数据给一个默认值
name = "小红";
}

student::student(int a , string b)
//这是带参数构造的函数定义,大括号里面是函数定义,前一个student代表类,后一个student代表函数
{
age = a;//这样名字和年龄就不是默认值了,可以动态输入。
name = b;
}

//下面是主函数
student aa;
//新建一个student类的对象,名字叫做aa,这里不用再人工赋值年龄和名字了,将自动调整构造函数给年龄和名字。
student bb(25,"大妹");
//构建函数重载,新建一个student类的对象bb,同时动态输入名字和年龄。

析构函数

析构函数销毁内存数据

对象aa被创建后,其主数据就一直在内存中了,这块内存什么时候被释放?就是使用析构函数的时候。

但主函数中并不能直接运行student aa;delete aa;

只有student * p = new student(20,"张三")//创造一个student类的指针,没有aa这样的名字,只有指针指向它。

delet p才将自动调用析构函数,因为两种储存的内存不同

虽然此时没有aa对象名,但是20与张三已经存在内存之中,只有调用析构函数才能抹掉20与张三

写法与构造函数类型

student::~student()//我看人家代码~在上面
//析构函数名字比构造函数多了一个波浪号,没有输入值,没有返回值
{ cout<<"delete object";}//调用delete p之后会自动出现这个函数并且打印“已删除”

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值