2026-02-19 11:31 2
};虽然上述构造函数调用之后对象中已经有了一个初始值但是不能将其称为对对象中成员变量的初始化构造函数体中的语句只能将其称为赋初值而不能称作初始化。

因为初始化只能初始化一次而构造函数体内可以多次赋值。
初始化列表以一个冒号开始接着是一个以逗号分隔的数据成员列表每个“成员变量”后面跟一个放在括号中的初始值或表达式。
每个成员变量在初始化列表中只能出现一次初始化只能初始化一次类中包含以下成员必须放在初始化列表位置进行初始化
引用成员变量const成员变量自定义类型成员且该类没有默认构造函数时
};尽量使用初始化列表初始化因为不管你是否使用初始化列表对于自定义类型成员变量一定会先使用初始化列表初始化。
}成员变量在类中声明次序就是其在初始化列表中的初始化顺序与其在初始化列表中的先后次序无关
构造函数不仅可以构造与初始化对象对于单个参数或者除第一个参数无默认值其余均有默认值的构造函数还具有类型转换的作用。
explicit修饰构造函数禁止类型转换---explicit去掉之后代码可以通过编译explicit
虽然有多个参数但是创建对象时后两个参数可以不传递没有使用explicit修饰具有类型转换作用//
实际编译器背后会用2023构造一个无名对象最后用无名对象给d1对象进行赋值d1
将1屏蔽掉2放开时则编译失败因为explicit修饰构造函数禁止了单参构造函数类型转换的作用
}上述代码可读性不是很好用explicit修饰构造函数将会禁止构造函数的隐式转换。
声明为static的类成员称为类的静态成员用static修饰的成员变量称之为静态成员变量用static修饰的成员函数称之为静态成员函数。
静态成员变量一定要在类外进行初始化。
静态成员为所有类对象所共享不属于某个具体的对象存放在静态区静态成员变量必须在类外定义定义时不添加static关键字类中只是声明类静态成员即可用
来访问静态成员函数没有隐藏的this指针不能访问任何非静态成员静态成员也是类的成员受
友元提供了一种突破封装的方式有时提供了便利。
但是友元会增加耦合度破坏了封装所以友元不宜多用。
问题现在尝试去重载operator然后发现没办法将operator重载成成员函数。
因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。
this指针默认是第一个参数也就是左操作数。
但是实际使用中cout需要是第一个形参对象才能正常使用。
所以要将operator重载成全局函数。
但又会导致类外没办法访问成员此时就需要友元来解决。
operator同理。
因为成员函数第一个参数一定是隐藏的this所以d1必须放在的左侧ostream
};友元函数可以直接访问类的私有成员它是定义在类外部的普通函数不属于任何类但需要在类的内部声明声明时需要加friend关键字。
友元函数可访问类的私有和保护成员但不是类的成员函数友元函数不能用const修饰友元函数可以在类定义的任何地方声明不受访问限定符限制一个函数可以是多个类的友元函数友元函数的调用与普通函数的调用原理相同
友元类的所有成员函数都可以是另一个类的友元函数都可以访问另一个类中的非公有成员。
比如下面的Time类和Date类在Time类中声明Date类为其友元类那么可以在Date类中直接访问Time类的私有成员变量但想在Time类中访问Date类中私有的成员变量则不行。
友元关系不能传递。
如果C是B的友元B是A的友元则不能说明C是A的友元。
友元关系不能基础。
声明日期类为时间类的友元类则在日期类中就直接访问Time类中的私有成员变量
概念如果一个类定义在另一个类的内部这个内部类就叫做内部类。
内部类是一个独立的类它不属于外部类更不能通过外部类的对象去访问内部类的成员。
外部类对内部类没有任何优越的访问权限。
注意内部类就是外部类的友元类参见友元类的定义内部类可以通过外部类的对象参数来访问外部类中的所有成员。
但是外部类不是内部类的友元。
内部类可以定义在外部类的piblic、protected、private都是可以的。
注意内部类可以直接访问外部类中的static成员不需要外部类的对象/类名。
sizeof(外部类)外部类和内部类没有任何关系。
不能这么定义对象因为编译器无法识别下面是一个函数声明还是对象定义//
但是他的生命周期只有这一行我们可以看到下一行他就会自动调用析构函数A();A
匿名对象在这样场景下就很好用当然还有一些其他使用场景这个我们以后遇到了再说Solution().Sum_Solution(10);return
在传参和传返回值的过程中一般编译器会做一些优化减少对象的拷贝这个在一些场景下还是非常有用的。
一个表达式中连续构造拷贝构造-优化为一个构造f1(A(2));cout
现实生活中的实体计算机并不认识计算机只认识二进制格式的数据。
如果想要让计算机认识现实生活中的实体用户必须通过某种面向对象的语言对实体进行描述然后通过编写程序创建对象后计算机才可以认识。
比如想要让计算机认识洗衣机就需要
即在人为思想层面对洗衣机进行认识洗衣机有什么属性有哪些功能即对洗衣机进行抽象认知的一个过程。
经过
之后在人的头脑中已经对洗衣机有了一个清晰的认知只不过此时计算机还不清楚想要让计算机识别人想象中的洗衣机就需要人通过某种面向对象的语言比如C、Java、Python等将洗衣机用类来进行描述并输入到计算机中。
经过
之后在计算机中就有了一个洗衣机类但是洗衣机类只是站在计算机的角度对洗衣机对象进行描述通过洗衣机类可以实例化出一个个具体的洗衣机对象此时计算机才能明白洗衣机是什么东西。
用户就可以借助计算机中洗衣机对象来模拟现实中的洗衣机实体了。
在类和对象阶段大家一定要体会到类时对某一类实体对象来进行描述的描述该对象具有哪些属性、哪些方法描述完成后就形成了一种新的自定义类型采用该自定义类型就可以实例化具体的对象。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback