欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > C++基础编程的学习2

C++基础编程的学习2

2025/2/25 15:09:49 来源:https://blog.csdn.net/m0_56701519/article/details/141002789  浏览:    关键词: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里面什么都没有

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词