C++(day 9)类与对象 总结

目录

总结表格

概念说明格式
类和对象类成员函数类的成员函数是指那些把定义和原型写在类定义内
部的函数,就像类定义中的其他变量一样。
定义在类的内部:
(inline) 返回值 方法名 参数列表
定义在类的外部:
返回值 类名::方法名 参数列表
类访问修饰符类成员可以被定义为 public、private 或 protected。
默认情况下是定义为 private。
公有成员在程序中类的外部是可访问
的,可以不使用任何成员函数来设置
和获取公有变量的值,
私有成员变量或函数在类的外部是不
可访问的,甚至是不可查看的。只有
类和友元函数可以访问私有成员。
保护成员变量或函数与私有成员十分相
似,但有一点不同,保护成员在派生类
(即子类)中是可访问的。
构造函数类的一种特殊的成员函数,它会在每次创建类的新
对象时执行。构造函数的名称与类的名称是完全相
同的,并且不会返回任何类型,也不会返回 void。
构造函数可用于为某些成员变量设置初始值。
1. 类内部定义:类名 (参数列表)
2. 类外部定义:类名::类名 (参数列表)
3.重载构造函数:参数列表的不同
默认构造函数:
未提供默认构造函数时C++提供一个无参的默认构造
函数,仅负责创建对象,不负责初始化工作。
带参数的构造函数:
构造函数带有参数,这样在创建对象时就会给对象赋
初始值。
只要定义了一个构造函数,C++就不再提供默认的构
造函数。
析构函数 没有返回类型,没有参数,不能随意调用,也没有
重载,只是在类对象生命期结束的时候,由系统自
动调用。
1. 类内部定义 ~类名()
2. 类外部定义 ~类名::类名()
拷贝构造函数拷贝构造函数是一种特殊的构造函数,它在创建对
象时,是使用同一类中之前创建的对象来初始化新
创建的对象。
常用于:
1. 通过使用另一个同类型的对象来初始化新创建的
对象。复制对象把它作为参数传递给函数。
2. 复制对象把它作为参数传递给函数。
3. 复制对象,并从函数返回这个对象。
类名(const 类名 &对象)
友元函数类的友元函数是定义在类外部,但有权访问类的所
有私有(private)成员和保护(protected)成员。
注意:
尽管友元函数的原型有在类的定义中出现过,但是
友元函数并不是成员函数。
如果要声明函数为一个类的友元,需要在类定义中
该函数原型前使用关键字 friend
在类定义中:friend 函数原型
内联函数定义:当函数被声明为内联函数之后, 编译器会将其
内联展开, 而不是按通常的函数调用机制进行调用。
在类定义中: (inline) 成员函数
建议:
1. 不要内联超过 10 行的函数. 谨慎对待析构函数, 析
构函数往往比其表面看起来要更长, 因为有隐含的成
员和基类析构函数被调用。
2. 内联那些包含循环或 switch 语句的函数常常是得不
偿失 (除非在大多数情况下, 这些循环或 switch 语句从
不被执行).
静态成员定义:
静态成员在类的所有对象中是共享的。如果不存在其他
的初始化语句,在创建第一个对象时,所有的静态数据
都会被初始化为零。我们不能把静态成员的初始化放置
在类的定义中,但是可以在类的外部通过使用范围解析
运算符 :: 来重新声明静态变量从而对它进行初始化。
关键字static
静态数据成员使用场合一般为:
1. 用来保存流动变化的对象个数
2. 作为一个标志,指示一个特定的动作是否发生
3. 一个指向一个链表第一成员或最后一个成员的指针
不能类的定义中初始化。
必须在类的外部通过使用范围
解析运算符 :: 来重新声明静态
变量从而对它进行初始化。
静态成员函数:
1. 一个静态成员函数不与任何对象相联系,故不能对
非静态成员进行默认访问。
2. 静态成员函数没有this指针,而非静态成员函数由一
个指向当前对象的this指针。
类定义中:在成员函数前加static关键字
this指针1. 每个对象都有一个特殊的指针 this,它指向对象本身。
2. 每一个对象都能通过 this 指针来访问自己的地址。
this 指针是所有成员函数的隐含参数。
3. 友元函数没有 this 指针,因为友元不是类的成员。只
有成员函数才有 this 指针。
在成员函数内部,它可以用来指向调用对象。
this->成员数据或成员方法
指向类的指针指向类的指针的声明类名* 变量名;
访问指向类的指针的成员指向类的指针—>成员
类的继承和多态.........
后续整理类的继承和多态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值