C++练习题(附答案).pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
空间有限,我将简要概述这些C++知识点: 1. **C++函数**:C++函数不必总要有参数,也不必总返回值。函数可以在调用前声明或定义,但C++11引入了内联函数和尾置返回类型,允许在函数体前不声明直接定义。函数可以递归调用自己。 2. **类和对象**:一个类可以创建多个对象,类是对象的蓝图,对象是类的实例。类和对象的关系类似于数据类型与变量的关系,类定义了对象的属性和行为。 3. **多态性**:在C++中,运行时多态性通过虚函数实现,允许子类重写基类的函数并动态绑定到正确的方法。 4. **运算符重载**:运算符重载允许为已存在的运算符赋予新的含义,但不能创建新运算符。重载运算符通常作为成员函数实现,但某些运算符如赋值运算符可以作为友元函数。二元运算符重载时通常需要两个参数,但可以使用默认参数来简化调用。 5. **模板**:模板是C++的泛型编程工具,可以是函数模板或类模板。模板声明的第一个符号是`template`,<和>内的部分是模板参数列表。类模板可以有数据成员,而函数模板的实参有时可以推断。 6. **I/O流**:`cout`是C++中的标准输出流对象,`endl`用于输出换行,`<<`是插入运算符,用于将数据写入流。 7. **标识符**:C++标识符由字母、数字和下划线组成,且不能以数字开头。`foo-1`和`2b`不是有效的标识符,`new`是保留字,`_256`是合法的。 8. **枚举**:枚举常量是整型,枚举的初始值可指定,如`PLUS=5`和`PRINT=10`,未指定的枚举常量按顺序递增。 9. **循环和变量**:`while(i<25)i+=3;cout<<i;`会输出27,因为i在循环后变成了24,然后加3得到27。 10. **数组初始化**:可以使用不同方式初始化数组,包括指定元素数量和直接提供元素值。 11. **引用和指针**:函数`fun`传递了一个引用参数,意味着对参数的修改会直接影响原变量。例子中的输出是42,23,因为交换了数组元素的值。 12. **访问控制**:`bar`是`Foo`类的私有数据成员,不能在类外部直接访问。 13. **继承和访问权限**:`MyDERIVED`继承了`MyBASE`的私有成员`k`,并有一个保护数据成员`j`。类中还有两个公共成员函数。 14. **运算符重载**:`VOLUME operator-(VOLUME)const;`重载了减法运算符为成员函数,接受一个`VOLUME`参数,返回`VOLUME`类型,且不会改变类的数据成员。 15. **函数模板**:`func`是函数模板,可以接受任何类型的`T`。调用中`func(3,5.5)`是错误的,因为两个不同类型的参数会导致模板无法推导出`T`。 16. **构造函数**:`AA(int)`是构造函数的形式,构造函数没有返回类型,名称与类相同。 17. **this指针**:`this`指针是隐含的,仅在非静态成员函数中可用,指向调用该成员函数的对象。 18. **C++标准库**:`using namespace std;`引入了标准命名空间,允许直接使用`std`中的标识符。 以上是针对题目中提到的一些C++基础知识的简要解释。如需更深入的讨论或扩展,请提供具体问题或需求。
剩余32页未读,继续阅读
- 粉丝: 6755
- 资源: 3万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助