【C++复习知识点】 1. 构造函数与默认构造函数 在题目1和2中,我们看到了类`Sample`的构造函数。构造函数是类的一个特殊成员函数,用于在创建对象时初始化成员变量。当没有指定构造函数时,编译器会提供一个默认的构造函数(无参数)。`Sample(int a, int b)`是一个带有参数的构造函数,用于给`x`和`y`初始化。在`main`函数中,通过`Sample s1(2,3);`调用这个构造函数。 2. 析构函数 题目2中展示了析构函数的概念。析构函数与构造函数相反,它在对象生命周期结束时(例如对象离开作用域或动态分配的对象被删除)自动调用。`~Sample()`是析构函数,用来清理对象在使用过程中可能产生的资源。在这个例子中,析构函数检查`x`和`y`是否相等,并打印相应消息。 3. 静态成员变量与静态成员函数 题目3涉及到静态成员变量和函数。`static Sample obj(n);`在函数`func`内部声明了一个静态对象`obj`。静态成员变量在所有类对象之间共享,只被初始化一次。因此,`func`每次调用都不会创建新的`Sample`对象,而是始终使用同一个对象。`obj.display();`输出`x`的值,根据调用`func`的次数,显示不同的值。 4. 对象与指针 题目1.4展示了一个对象`s`和指向它的指针`p`的使用。`p->disp();`通过指针访问成员函数`disp`,输出`s`的成员变量`x`和`y`的值。 5. 成员指针 题目1.5中,`pc`是一个指向成员变量的指针。`pc=&Sample::x;`和`pc=&Sample::y;`将`pc`分别设置为指向`x`和`y`。`s.*pc=10;`和`s.*pc=20;`使用成员指针修改`Sample`对象`s`的成员变量值,然后`disp()`函数输出结果。 6. 类的设计与成员函数 题目1.6要求设计`Test`类,该类应包含初始化和打印功能。提供的代码展示了如何实现这样的功能,包括私有数据成员`x`和`y`,以及公共成员函数`init`和`print`。`init`用于设置`x`和`y`的值,而`print`执行减法运算并输出结果。 7. 银行账户类的设计 题目1.7要求设计`Bank`类来管理银行账号。这个类应该包含存储账户信息的数据成员,如`top`(当前账目指针)、`date`(日期)、`money`(金额)、`rest`(余额)和`sum`(累计余额)。此外,还需要成员函数`bankin`、`bankout`和`disp`,分别处理存款、取款和打印账户明细。此类设计允许跟踪多个账户操作,并提供账户状态的输出。 这些C++知识点涵盖了构造函数、析构函数、静态成员、对象指针、成员指针以及面向对象编程的基本概念,如类的设计和成员函数的使用。这些是学习C++的基础,对于理解和编写C++程序至关重要。
- 粉丝: 128
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaweb的网上拍卖系统,采用Spring + SpringMvc+Mysql + Hibernate+ JSP技术
- polygon-mumbai
- Chrome代理 switchyOmega
- GVC-全球价值链参与地位指数,基于ICIO表,(Wang等 2017a)计算方法
- 易语言ADS指纹浏览器管理工具
- 易语言奇易模块5.3.6
- cad定制家具平面图工具-(FG)门板覆盖柜体
- asp.net 原生js代码及HTML实现多文件分片上传功能(自定义上传文件大小、文件上传类型)
- whl@pip install pyaudio ERROR: Failed building wheel for pyaudio
- Constantsfd密钥和权限集合.kt