15.6 — 静态成员变量
在这一课中,我们介绍了全局变量,在这一课中,我们介绍了静态局部变量。这两种类型的变量都具有静态持续时间,这意味着它们在程序开始时创建,在程序结束时销毁。此类变量甚至…也能保留其值。
在这一课中,我们介绍了全局变量,在这一课中,我们介绍了静态局部变量。这两种类型的变量都具有静态持续时间,这意味着它们在程序开始时创建,在程序结束时销毁。此类变量甚至…也能保留其值。
在这一课中,你了解到基本数据类型(int、double、char等)的对象可以通过const关键字设置为常量。所有const变量必须在创建时初始化。const int x; // 编译错误:未初始化 const int y{}; // 正确:值初始化 const …
我们目前编写的所有类都足够简单,可以直接在类定义中实现成员函数。例如,下面是一个简单的Date类,所有成员函数都在Date类定义中定义:#include <iostream> …
只要有可能,我们都希望减少冗余代码(遵循DRY原则——不要重复自己)。考虑以下函数:void A() { // 执行任务A的语句 } void B() { // 执行任务A的语句 // 执行任务B的语句 } 两个函数都有一个 …
新程序员经常会问关于类的问题之一是:“当调用成员函数时,C++如何跟踪它是对哪个对象调用的?”。首先,让我们定义一个简单的类来操作。这个类封装了一个整数值,并提供了一些访问函数……
当类类型是聚合时,我们可以使用聚合初始化直接初始化类类型:struct Foo // Foo是一个聚合 { int x {}; int y {}; }; int main() { Foo foo { 6, 7 }; // 使用聚合初始化 return 0; } 聚合 …
在上一课中,我们讨论了public和private访问级别。提醒一下,类通常将其数据成员设为private,并且private成员不能被public直接访问。考虑以下Date类:#include <iostream> class Date { private: int m_year{ 2020 }; int m_month{ …
假设在一个凉爽的秋日,你走在大街上,吃着卷饼。你想找个地方坐下,于是四处张望。你的左边是一个公园,里面有修剪整齐的草坪和遮荫树,几张不舒服的长椅,以及附近游乐场里尖叫的孩子。你的右边是…
在这一课中,我们介绍了struct程序定义类型,它可以包含成员变量。以下是一个用于保存日期的struct示例:struct Date { int year {}; int month {}; int day {}; }; 现在,如果我们想将日期打印到屏幕上…