• 欢迎访问废江网站,承蒙遇见 QQ群
  • 本站将致力于推送优质的java知识以及算法,开源代码!

类和对象的基础

c++ 站点默认 3年前 (2020-01-02) 928次浏览 已收录 0个评论 扫描二维码

#内联函数,重载函数,缺省函数
1.为了提高效率,可以在函数定义时候前面加上inline即可以将函数改为内涵函数
2.重载函数,函数名字可以相同,在调用的时候保证没有二义性即可
3.声明函数的时候就可以位函数的形参赋值,这样的函数叫做缺省函数

#c++类和对象的基本概念
类成员的可访问范围(在类的定义中)
*private* :私有成员,只能在成员函数内访问
>私有成员的特点,只能在类里面访问(主函数中试图访问是错误的),目的是强制对成员变量的访问一定要通过成员函数进行,
那么以后成员变量的类型等属性修改后,只需要更改成员函数即可。否则,所以直接访问成员变量的语句
都需要修改
*public*: 公有成员,可以在任何地方访问
*protected*:保护成员
(如果某个成员前面没有关键字,则缺省被认为是私有成员)

#构造函数
1.名字与类名相同,可以有参数,不能有返回值
2.作用是对对象进行初始化,如给成员变量赋值
3.如给定义类时没有写构造函数,则编译器会生成一个默认的无参数的构造函数
4.*对象生成的时候构造函数自动被调用。对象一旦生成,再也不能在其上执行构造函数
5.一个类可以有多个构造函数

#赋值构造函数
1.只有一个参数,即对同类对象的引用
2.x::x(const x&)*关于const,如果希望确保实参的值在函数中不应被改变,则可以加上关键字const
3.如给没有定义复制构造函数,那么编译器生成默认复制构造函数。默认的复制构造函数完成复制功能
**赋值构造函数**起作用的三种情况
1.当用一个对象去初始化同类的另一个对象
2.如果某函数有一个参数是类a的对象,那么该函数被调用时,类a的复制构造函数将被调用
3.如果函数的返回值是类a的对象时,则函数返回时,a的复制构造函数将被调用
注意:当对象赋值并不导致复制构造函数被调用

#类型转换构造函数
1.目的是实现类型的自动转换
2.只有一个参数,并且不是复制构造函数的构造函数,一般就可以看作是转换构造函数
3.当需要的时候,编译系统会自动调用转换构造函数,建立一个无名的临时对象

#析构函数
1.名字与类名相同,在前面加~,没有参数和返回值,一个类最多只有一个析构函数
2.析构函数对象消亡时即自动被调用,可以定义析构函数来在对象消亡前做善后工作,比如释放分配的空间
3.如果定义类时没有写析构函数,则编译器会生成缺省的析构函数,缺省析构函数什么也不做
4.如果定义了析构函数,则编译器不在生成缺省析构函数
17db177f7966b6c79861f03340bc6306.png

析构函数和构造函数的应用


废江博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:类和对象的基础
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址