C++是一种广泛使用的编程语言,它继承了C语言的特点,并扩展了面向对象的特性。以下是一些关于C++的关键知识点: 1. **兼容性**:C++是C语言的超集,因此C++兼容C语言,选项A正确。C++程序可以包含C语言的代码,而C语言程序不能直接包含C++的某些特性,如类和模板。 2. **流对象**:在C++中,`cout`是用于屏幕输出的对象,属于标准输出流,选项C正确。`cerr`通常用于错误输出,`cin`用于输入,`cfile`则与文件操作相关。 3. **动态内存管理**:使用`new`关键字分配的内存,应当使用`delete`来释放,选项C正确。`free`是C语言中释放内存的函数,`create`和`release`不是C++的标准操作。 4. **默认访问修饰符**:在C++中,如果类的数据成员没有明确指定访问修饰符,那么默认为`public`,选项B正确。 5. **值传递**:在值传递中,形参是实参的一个副本,它们之间是独立的,选项A正确。形参和实参不是同一个对象,也没有直接联系。 6. **默认参数**:在函数调用时,如果某个参数有默认值,那么它后面的参数可以不赋值,选项D正确。只要指定了这个有默认值的参数,其后面的所有参数都可以使用默认值。 7. **函数调用**:表达式`int m = max(22, max(59, 70));`是正确的,但`int m = max(22, 59, 70);`在C++标准中是不合法的,因为它要求`max`函数只接受两个参数,选项C错误。 8. **内联函数**:内联函数通常用于函数体较小、执行效率要求高的情况,函数体语句较多或执行时间过长的函数不适合声明为内联,选项A和D正确。 9. **函数重载**:函数重载意味着可以有多个同名函数,但参数列表不同。`int Func(int, int)`可以与`double Func(int, int)`构成重载,因为返回类型不决定重载,选项B正确。 10. **类的变量**:类中的变量属于该类,每个类的实例都有自己的一份副本,除非声明为静态成员,否则不同实例不会共享,选项B正确。 11. **私有成员访问**:私有成员只能在类的成员函数内部访问,选项D正确。 12. **默认构造函数**:如果没有定义构造函数,编译器会自动生成一个默认构造函数,选项A正确。 13. **析构函数**:一个类可以有一个析构函数,选项B正确。 14. **this指针**:`this`指针用于指向当前对象的地址,确保每个对象都有自己的数据成员,但共享处理这些数据的代码,选项B正确。 15. **类的权限**:普通函数不能直接访问类的私有成员,但可以通过对象或友元函数间接访问,选项C错误。 16. **宏定义**:在C++中,宏定义使用`#define`指令,选项B正确。 17. **构造函数执行顺序**:当创建含有其他类对象的类实例时,成员构造函数先执行,然后是类的构造函数,选项B正确。 18. **静态成员**:静态成员是类的成员,可以在类的所有实例间共享,静态成员函数不能直接访问非静态成员,但可以在类的静态成员函数中访问静态成员,选项A错误。 19. **友元**:友元不是类的成员函数,它可以访问类的私有和保护成员,选项B正确。 20. **派生类访问权限**:在protected派生中,派生类可以访问基类的protected成员,选项D正确。 21. **文件关联**:在C++中,关联文件输出流对象与文件的语句通常是`ofstream myFile("f:\\myText.txt");` 以上是对C++基础知识的一些关键点的解释,涵盖了内存管理、流、函数、对象、访问控制、构造与析构函数、友元以及文件操作等多个方面。这些知识点对于理解和编写C++程序至关重要。
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助