C++基础编程的学习2

has-a(组合关系)

在C++中,has-a关系是一种对象之间的组合关系,表示一个类的对象包含另一个类的对象作为其成员。

前向引用说明

在全局命名作用域中声明函数,可以避免递归调用时的函数重名问题。前向声明允许我们声明一个函数或类,而不立即定义它。

作用域

::全局命名作用域这样就可以调用和设计函数重名的全局要是,要不然就是递归调用

结果是

10

100

左值与右值

  • 左值(Lvalue):指可定位的(locatable)值,可以作为赋值的左边变量。
  • 右值(Rvalue):指可读取的(readable)值,通常作为赋值的右边表达式。

静态生存期

如果一个对象的生命周期与程序的执行期相同,那么它具有静态生存期。全局变量和静态变量就是具有静态生存期的例子。

匿名对象与右值

所有的匿名对象都是右值,因为它们没有名字,不能被再次引用。

这样不行

这样可以

这样不会改常量的值,只是引用常量的值

引用与数组

Vi不是数组只是在模仿数组的功能

对x修改并不会对修改数组里面的元素

像上图一样使用引用可以改变数组元素

this指针

this指针只在类的非静态成员函数中存在,指向调用成员函数的对象。静态成员函数中没有this指针。

这种的字节大小还是12

this指针只存在于类的非静态成员函数

上面是非静态,下面是静态

const修饰符

const修饰的常量必须被初始化,且不能被修改。当const修饰成员函数时,它保护的是对象本身,而不是成员函数的参数。

这个时候const修饰的是this指针

Const修饰的常量必须被初始化

类型转换与多态

C++支持多种类型转换操作符,包括:

  • const_cast:用于去除const属性。
  • static_cast:用于将一个类型安全地转换为相关类型。

友元函数

友元函数可以访问类的私有或保护成员,但它不是类的成员。友元关系是单向的,即一个类将另一个类的成员函数声明为友元,并不意味着另一个类也提供了互惠的访问权限。

简单理解就是只有朋友才可以进来调用(类外访问类内)

但是这种做法这只是单向的,只有我把你但朋友你却没有把我但朋友

类的共享

通过共享数据成员,可以实现类的共享效果。例如,一个员工类中的公司名可以作为共享成员,这样当一个员工的公司名改变时,所有员工的公司名都会改变。

这样可以实现类的共享(不为本类对象所特有,而为本类对象所共有)

既一个员工改变公司名,全部人的公司名都改变。

这种情况像可以直接调用

因为没调用构造函数所以要先进行赋值,要不然直接运行cout里面什么都没有

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值