C++类、构造与析构函数、友元类与友元函数
- 格式:pptx
- 大小:1.32 MB
- 文档页数:49


复习:C++填空题1.C++的流库预定义了4个流,它们是cin、cout、clog 和___。
答案:cerr [解析]分别是标准输入、输出、标准错误流(缓冲)和标准错误流 (无缓冲标准错误)2.每个对象都是所属类的一个___。
答案:实例3.在已经定义了整型指针p后,为了得到一个包括10个整数的数组并由p所指向,应使用语句___。
答案: int *p=new int[10];4.函数模板中紧随template之后尖括号内的类型参数都要冠以保留字___。
答案:class [解析]类模板template <class T1,class T2,...,class Tn>5.定义类的动态对象数组时,系统只能够自动调用该类的___构造函数对其进行初始化。
答案:无参[解析]使用new创建对象数组,调用无参构造函数。
6.表达式cout<<end1 还可表示为___。
答案:‘\n’[解析]endl与字符常量‘\n’等价。
7.在C++中,访问一个指针所指向的对象的成员所用的指向运算符是___。
答案:->[解析]指针使用成员方法:“->”指向运算符和“.”成员访问运算符。
8.假如一个类的名称为MyClass,使用这个类的一个对象初始化该类的另一个对象时,可以调用___构造函数来完成此功能。
答案:复制或拷贝[解析]复制或拷贝构造函数就是用对象初始化新的对象。
9.对赋值运算符进行重载时,应声明为___函数。
答案:类成员 [解析]运算符重载的方法有友元或者成员函数两种途径,但是赋值运算符只能使用成员函数的方法来实现。
10.如果要把A类成员函数f()且返回值为void声明为类B的友元函数,则应在类B的定义中加入的语句___。
答案:friend void A::f();[解析]成员函数作为另一个类的友元函数,格式为:friend 返回类型 类名::函数(形参)。
11.String 类的___方法返回查找到的字符串在主串的位置。
c++ 类封装技巧摘要:1.引言2.C++ 类封装的概念3.封装技巧详解3.1 成员变量隐藏3.2 成员函数封装3.3 构造函数和析构函数3.4 友元函数与友元类3.5 静态成员与静态函数4.封装在实际编程中的应用5.总结与展望正文:【引言】C++ 作为一种面向对象的编程语言,封装是其核心特性之一。
封装有助于提高代码的可读性、可维护性和安全性。
本文将详细介绍C++ 类封装的技巧,帮助读者更好地理解和应用封装技术。
【C++ 类封装的概念】封装是指将类的成员变量和成员函数隐藏在类内部,不允许外部直接访问。
通过封装,可以实现以下目标:1.数据隐藏:保护数据,防止外部直接操作,避免数据误操作。
2.功能抽象:将实现细节隐藏,仅暴露必要的接口,使外部只需关注如何使用类。
3.提高安全性:封装有助于防止恶意操作,确保数据和程序的安全。
【封装技巧详解】3.1 成员变量隐藏在C++ 中,使用私有成员变量可以实现成员变量的隐藏。
私有成员变量只能被以下三种方式访问:1.同一个类的成员函数。
2.友元函数。
3.成员变量对应的构造函数和析构函数。
3.2 成员函数封装将成员函数设置为私有或保护成员,可以限制外部对类功能的直接访问。
这样可以确保外部仅通过类提供的公共接口与类进行交互,提高代码的可维护性。
3.3 构造函数和析构函数构造函数和析构函数是类的特殊成员函数,用于初始化和清理对象。
合理设计构造函数和析构函数,可以确保对象状态的正确性和资源的有效管理。
3.4 友元函数与友元类友元函数和友元类可以访问类的私有成员,有助于实现一些特殊功能。
例如,在实现输入输出操作时,可以使用友元函数实现对对象内部数据的访问。
3.5 静态成员与静态函数静态成员和静态函数不依赖于类的对象,可以直接通过类名访问。
静态成员和静态函数通常用于实现与类对象无关的功能,例如字符串类的长度计算。
【封装在实际编程中的应用】在实际编程中,封装可以应用于以下场景:1.数据抽象:将复杂的数据结构封装成简单的类,便于外部使用。