NOTE
白帽子hhh
这个作者很懒,什么都没留下…
展开
-
简述面向对象、面向过程的区别?
简述面向对象、面向过程的区别?(1)从设计思路来看。面向过程:程序设计的重点是分析解决问题的步骤,以及完成步骤的流程,是一种结构化自上而下的程序设计方法。面向对象:程序设计的重点是把构成问题的事物分解成对象,从局部着手,通过迭代的方式逐步构建出整个程序,是一种以数据为核心,以类设计为主的自下而上的程序设计方法。(2)从适用范围来看。面向过程:由于不涉及实例化对象等操作,程序性...原创 2019-03-16 11:50:25 · 5223 阅读 · 0 评论 -
关于继承,以及继承和组合的区别
简述C++中关于继承,继承与组合区别?1.关于继承:继承是面向对象的设计重要特性之一。它解决了代码复用,使子类在重用父类的旧成员的同时,添加自身的新成员。子类也可以定义与父类同名的函数,这时父类中的成员会被子类的“同名成员覆盖”。继承方式分为3种:(1)公有继承。父类中的公有成员在子类中还是公有成员,保护成员还是保护成员。父类中的私有成员在子类中不可见。(2)保护继承。父...原创 2019-03-18 13:05:58 · 448 阅读 · 0 评论 -
关于运算符的重载
C++中类中关于运算符的重载问题?C++中,不仅函数能够重载,运算符也能够重载,重载后的运算符根据操作数的类型实现不同的功能。在实际中,<<本身是左移运算符,但是与流对象cout配合使用时,实现了基本的输出功能。运算符重载的方式有2种:(1)类成员函数(2)友元函数一般情况下,对于单目运算符进行重载时使用类成员函数方式,对双目操作符进行重载时使用友元函数形式。但是需要...原创 2019-03-18 10:36:41 · 547 阅读 · 0 评论 -
函数重载与函数覆盖的区别
函数重载与函数覆盖的区别?(1)函数重载。函数重载发生在同一个类的内部。这组函数具有相同的函数名,但是参数列表不相同,在函数调用过程中根据传入的实参类型,匹配最佳的函数并调用。(2)函数覆盖发生在子类与父类之间。父类中定义了一个虚函数,在子类中重新实现了这个函数,并且函数在子类和父类中具有相同的函数原型(函数名、参数列表),在调用函数过程中,根据对象的类型,调用相应类中的虚函数。...原创 2019-03-18 09:40:51 · 4828 阅读 · 1 评论 -
C++支持函数重载,C语言不支持函数重载的原因
C++支持函数重载,C语言不支持函数重载的原因?函数重载:在同一作用域内,一组具有不同参数列表的同名函数。通常情况,这组函数具有相似的功能,函数重载有效解决了只由于参数类型不同而造成的函数名数量膨胀问题。而C++支持函数重载,C不支持函数重载的原因是:C++在编译过程中对函数的重命名规则是:函数名+参数类型(有时候还有作用域、返回类型),因此使得重载函数在重命名后函数名具有唯一性,而...原创 2019-03-18 09:03:11 · 800 阅读 · 0 评论 -
实现String的构造函数、拷贝构造函数、赋值运算符的重载、析构函数
实现String的构造函数、拷贝构造函数、赋值运算符的重载、析构函数?class String{private: char* data;public: String(); String(const char* pstr); String(const String& str); String& operator=(const String& str...原创 2019-03-18 08:19:03 · 721 阅读 · 0 评论 -
构造函数、析构函数
关于类的构造函数、析构函数:(1)构造函数构造函数是一种特殊的成员函数,在创建对象时自动调用,用于初始化对象中的数据成员。它的函数名与类名相同,无返回值,可以重载。如果类中没有显式给出一个,系统会自动生成一个无参的构造函数,称为默认的构造函数(还有一种全缺省参数的构造函数也称为默认构造函数,没有参数的构造函数也称为默认构造函数),但是只要用户显示声明一个构造函数,系统便不再提供默认构...原创 2019-03-17 13:20:54 · 93 阅读 · 0 评论 -
简述友元函数、友元类
简述友元函数、友元类?(1)友元函数友元函数不是类的成员函数,而是类的外部函数。友元函数可以访问该类的私有成员。(2)友元类和友元函数类似。如将类A声明为类B的友元类,那么类A就可以访问类B的私有成员。而且类A中的所有成员函数都是类B的友元函数。注意:(1)友元关系是单向的,即你是我的友元,但是不能推出我就是你的友元。(2)友元关系不能继承,即你是我的友元,但是不能推出你...原创 2019-03-16 13:37:00 · 826 阅读 · 0 评论 -
const修饰符在类中的用法
简述const修饰符在类中的用法?(1)const修饰成员变量const修饰的成员变量必须在类的构造函数中的初始化列表进行初始化(因为const修饰的变量定义的时候必须初始化,因为后面是不能修改的,而在构造函数的初始化列表中就相当于是定义,如果放在函数体内初始化就相当于赋值,这是不行的)。另外必须放在初始化列表初始化的成员变量有:const修饰的变量,引用变量,没有默认构造函数的自定...原创 2019-03-16 13:27:05 · 1273 阅读 · 0 评论 -
类中的静态成员变量、静态成员函数
类中的静态成员变量、静态成员函数?(1)类中的静态成员变量:静态成员变量属于整个类,不属于某个特定的对象,因此无论创建了多少个对象,所有对象都共享类中的静态成员变量。静态成员变量必须在类内声明,类外初始化。(2)类中的静态成员函数:静态成员函数也是属于类本身,而不属于某个特定的对象。静态成员函数与普通成员函数最大的区别在于,静态成员函数没有this指针,普通的成员函数被调用时...原创 2019-03-16 12:55:15 · 1410 阅读 · 0 评论 -
简述类和结构体的区别
简述类和结构体的区别?C++为了兼容C语言,保留了结构体的概念。但是,对结构体做了扩展,C++中的结构体struct和class一样都可以定义一个类,不仅可以包含成员变量,还可以包含成员方法。唯一的区别就是:类class的默认成员访问限定符是private,而struct的默认访问控制符是public.C++支持3种访问控制符:public(公有的)、protected(保护的)、p...原创 2019-03-16 12:35:42 · 1146 阅读 · 0 评论 -
面向对象的设计原则
简述面向对象的设计原则?(1)单一职责原则一个类只具有一项职责。好维护。(2)里氏替换原则父类出现的地方必然能用子类替换,并且替换后行为不会发生替换。反之不行。(3)依赖倒置原则程序应该依赖于抽象的接口,而不是依赖于具体的类。因为类可能随时发生变化,而接口发生变化的可能性较小。(4)开放封闭原则程序对扩展开放,对修改封闭。保证程序稳定性并降低维护成本。(5...原创 2019-03-16 12:23:36 · 178 阅读 · 0 评论 -
面向对象的基本特征
简述简述面向对象、面向过程的区别?(1)抽象。抽象找出对象的共性,并将这些共性所包含的对象抽象成类。因此类是对象的抽象,对象是类的实例。(2)封装封装指的是,类把自己的属性和方法隐藏起来,对外只暴露有限的信息。具体来讲就是类在实现的过程中将数据的定义以及操作放在类的内部,对外只提供访问数据的接口。通过封装可以让使用者只关心对象对外的接口无需了解实现方式。另外封装实现了信息隐藏...原创 2019-03-16 12:01:42 · 205 阅读 · 0 评论 -
设计聊天窗口的测试用例
网络正常状态下,单聊的情境下:发送文字、图片、表情、小视频、语音,发送是否成功 接收文字、图片、表情、小视频、语音是否成功 发送文字、图片、表情、小视频、语音最大值测试 是否支持发送文件(群聊文件) 是否支持将语音转化为文字 发送语音、视频聊天,是否有声音提示 发送语音、视频聊天,长时间无人接听时,是否有提示信息? 语音聊天切换到视频聊天是否正常? 视频聊天切换到语...原创 2019-09-05 09:46:16 · 6778 阅读 · 0 评论