
c++
文章平均质量分 69
zjq_smile
这个作者很懒,什么都没留下…
展开
-
【c++】c++基础知识
为了准备找工作,复习了一段时间的c++,而且有些内容当时复习了得还比较细致,做的笔记是纸质的,为了不使自己的这部分资料遗失,把它一点点放到网上来吧,从今天开始,一点一点。C++笔记——C++编程思想第一章 对象导言1. 面向对象三大特性:封装、继承、多态。2. C ++中的多态(晚捆绑)是通过虚函数实现的,在父类函数声明前加上关键字Virtual3. 把处理派生类型就如处理基类转载 2016-11-11 23:05:34 · 534 阅读 · 0 评论 -
下面有关继承、多态、组合的描述,说法错误的是?
下面有关继承、多态、组合的描述,说法错误的是?A、封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏 B、继承可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展 C、隐藏是指派生类中的函数把基类中相同名字的函数屏蔽掉了 D、覆盖是指不同的函数使用相同的函数名,但是函数的参数个数或类型不同答案: BC解析: A原创 2017-07-25 10:10:58 · 2151 阅读 · 0 评论 -
用c++设计一个不能被继承的类
分析:这是Adobe 公司2007 年校园招聘的最新笔试题。这道题除了考察应聘者的C++ 基本功底外,还能考察反应能力,是一道很好的题目。 在Java 中定义了关键字final ,被final 修饰的类不能被继承。但在C++ 中没有final 这个关键字,要实现这个要求还是需要花费一些精力。 首先想到的是在C++ 中,子类的构造函数会自动调用父类的构造函数。同样,子类的析构函数也会自动调用父类的转载 2017-08-02 12:16:42 · 2580 阅读 · 0 评论 -
下面哪些调用转换支持可变长度参数
下面哪些调用转换支持可变长度参数 A、cdecl B、stdcall C、pascal D、fastcal答案:A__cdecl __fastcall与__stdcall,三者都是调用约定(Calling convention),它决定以下内容:1)函数参数的压栈顺序,2)由调用者还是被调用者把参数弹出栈,3)以及产生函数修饰名的方法。 1、__stdcall调用约定:函数的参数自右向左通原创 2017-07-20 09:30:58 · 697 阅读 · 0 评论 -
设计模式——单例模式
单例模式:一个类只生成一个实例对象。要从生成唯一一个实例,构造函数就要设为私有,一般有两种模式:一位饿汉式,只有在空的时候分配内存class Singleton{private: Singleton() {} static Singleton* instance;public: static Singlenton* getInstance() {原创 2017-07-19 10:59:26 · 226 阅读 · 0 评论 -
重载赋值运算符(c++)
String& String::operator=(const String &str){ if(this == &str)//判断是否为本身,是的话就返回 { return *this } delete []str_; str_ = NULL; int len = strlen(str.str_)+1; str_ = new原创 2017-07-19 10:21:09 · 465 阅读 · 0 评论 -
c++笔试面试题43-144问
43、面向对象的三个特征多态、封装、继承 44、C++语言的优缺点优点:c++是面向对象的程序设计,在高级语言中,处理运行速度最快,而且还兼容了c语言C++语言十分灵活,功能十分强大,它的优点在于性能和类层次结构设计C++十分严谨、精确和数理化,标志定义很细致C++语法思路层次分明、相呼应,语法结构是显示的,明确的 缺点:语言过度复杂和标准库的过度苍白原创 2017-07-18 10:33:31 · 581 阅读 · 0 评论 -
must take either zero or one argument错误分析
今天在整理笔记的时候,发现笔记本上只有“+”重载运算符的友元函数的形式,没有成员函数的重载形式,但是根据重载的规则,这个运算符也是可以用成员函数的重载方式的,便开始了自己的尝试,然后我发现了一个问题,会报错“must take either zero or one argument”我的代码是这样子写的:String& String:: operator+(const String原创 2017-06-05 09:33:39 · 7831 阅读 · 0 评论 -
JSON数据格式的简介
常见的数据交换格式:XML、JSON和YMLXML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。在web serivice应用中,至少就目前来说XML仍有不可动摇的地位。优点:1.格式统一,符合标准;2.容易进行系统间数据交换、共享;缺点:1.文件格式庞大、复杂,网络传输占用带宽较大;原创 2017-05-24 14:20:27 · 611 阅读 · 0 评论 -
栈实现简单的计算器
上个星期的作业,现在才改好。。。。。基本思路:当我们从键盘上输入一串字符,比如1+(2+3),建立两个栈,一个存放运算符的栈toperator,一个存放操作数number,依次遍历。遇到操作数就依次存放到操作栈里;遇到运算符时,优先级高的就直接压进运算符栈里,优先级低的就依次弹出操作栈中的两个值与运算符进行计算,然后把计算的值再次压进操作数栈里。其中有括号的情况,左括号的直接压进,原创 2017-03-17 17:13:17 · 716 阅读 · 0 评论 -
【c++】运算符重载(下)
[]运算符:#ifndef _STRING_H_#define _STRING_H_class String{public: void Display(); String(char *str); char& operator[](unsigned int index);private: char *str_;};#endif#include原创 2017-02-14 20:12:42 · 265 阅读 · 0 评论 -
【c++】运算符重载(上)
一、友元机制 作用:1、友元允许非类成员函数访问类的非公有成员的一种机制 2、破坏封装性 格式:friend class StringTool; 注意:1、不能通过对象调用友元机制,是因为友元函数不属于类 2、不受public,private,protected限制 3、作用域不受类作用域的限制 4、由于其破坏封装性,尽量原创 2017-02-13 23:45:59 · 243 阅读 · 0 评论 -
【c++】用c++的vector容器编写简单的通讯录
今天和昨天用C++编写了一个简单的通讯录,功能比较简单,基本功能实现信息也比较简单,就是ID号,姓名,电话和住址基本功能:1、插入新信息 2、查看信息 3、删除信息 4、修改信息 用了两个类,一个是封装了基本信息,一个是封装了需要用到的函数Person.h#ifndef _PERSON_H_#define _PERSON_H_#include"Perso原创 2017-02-13 10:12:35 · 2195 阅读 · 0 评论 -
【c++】static、const、mutable关键词
一、深拷贝与浅拷贝浅拷贝就是对象的数据成员之间的简单赋值,浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,一个人一开始叫张三,后来改名叫李四了,可是还是同一个人。代码例程:#ifndef _STRING_H_#define _STRING_H_class String{public: St原创 2017-02-11 11:26:47 · 304 阅读 · 0 评论 -
【c++】构造函数与析构函数
一、构造函数C++提供构造函数来处理对象的初始化,构造函数是一种特殊的成员函数,与其他的成员函数不同,不需要用户来调用他,而是在建立对象时自动执行。它的特点是:函数名和类名相同,没有返回值,可以重载 如果程序中未声明,则系统自动产生出一个默认的构造函数,默认的构造函数时不带参数的。比如:Student t;这是就会调用默认的构造函数。在定义对象时指定成员的初始值时,系统不会自动生成原创 2017-02-09 16:12:13 · 489 阅读 · 0 评论 -
【c++】类与对象
一、什么是对象?客观世界中任何一个事物都可以看成一个对象,一个对象有两个属性:一是静态特征—属性,一是动态特征—行为或功能。在一个系统中的对个对象之间一定通过一定的渠道相互联系,要使某个对象实现一种行为,应向它传送相应的消息。在C++中,每个对象都是由数据和函数这两部分组成,数据体现了属性,函数是对数据进行操作,以便实现某些功能的。行为或功能在程序设计中也成为方法。 二、面向对象程原创 2017-02-09 12:31:49 · 454 阅读 · 0 评论 -
C++编程总结
C++要比许多人想象的更容易理解。如果你非常渴望学习,并具备逻辑思考的能力,掌握C++就会比想象的更容易。开发C++技巧,学习数百万人已在使用的语言,掌握C++技能,它提供了在几乎任何环境下开发应用程序的能力。 本文的C++语言对应最新的ISO标准,一般称为C++ 14。C++14对以前的标准C++ 11进行了较小的扩展,所以本书的内容大都不专用于C++ 14。本文的所有示例都可转载 2016-11-13 23:37:36 · 1863 阅读 · 0 评论 -
内联函数及名字控制
内联函数及名字控制1. 内联函数与一般函数的区别:内联函数会在调用处直接展开代码,而省去了调用的开销。C的宏与内联类似,但其不进行类型方面检查等,故而易出错,而且宏不允许访问类的成员,故C++中用内联函数。2. 任何类内定义的函数,自动地成为内联函数,类外的函数用inline修饰。关键字inline必须与函数定义体放在一起才能使函数成为内联,仅将inline放在函数声明前面不起转载 2016-11-13 00:08:10 · 405 阅读 · 0 评论 -
把文件中的一组整数排序后输出到另一个文件中(c/c++)
我是自己先建立一个文本文件a.txt,里面写了整数: 1 23 45 67 89 0C语言实现:#include<stdio.h>#include<errno.h>#include<stdlib.h>void sort(int *a,int len){ int i; int j; for(i = 0; i < len-1; i++) { for(原创 2017-08-14 12:45:46 · 2593 阅读 · 0 评论