C++
文章平均质量分 87
weifu328
这个作者很懒,什么都没留下…
展开
-
C++知识点备忘录之数组(一)
1、数组初始化时,提供的值可以少于数组的元素数目。当只对数组的一部分进行初始化,则编译器会自动将其他元素设置为0。如: long totals[500]={0}; //只显示的初始化数组的第一个元素为0,编译器自动将其他元素设置为了0; long totalh[300]={1}; //只显示的初始化数组的第一个元素为1,编译器自动将其他元素设置为了0;2、若未初始化...原创 2018-09-15 23:42:19 · 215 阅读 · 0 评论 -
一些概念:类和结构、名称空间、复制构造函数、作用域和链接性 自动变量和堆栈
1、类和结构 类描述看上去很像是包含成员函数以及public和private可见性标签的结构声明。实际上,C++对结构进行了扩展,使之具有与类相同的特性。他们之间唯一的区别是,结构的默认访问类型是public,而类为private。C++程序员通常使用类来实现类描述,而把结构限制为只表示纯粹的数据对象或没有私有部分的类。class World{ float ma...原创 2018-10-16 16:27:41 · 233 阅读 · 0 评论 -
C++知识点备忘之字符串(二)
1、字符串的定义 字符串以空字符结尾,空字符串被写作\0,其ASCII码为0,用来标记字符串的结尾。如: char dog[5]={'D','e','a','u'}; //not a string! char cat[5]={'f','a','t','\0'}; //a string! char bird[10]="Mr. Cheeps"; /...原创 2018-10-16 16:17:00 · 181 阅读 · 0 评论 -
C++知识点备忘之string类(三)
1、string对象和字符数组之间的主要区别:可以将string对象声明为简单变量,而不是数组。如: string str1; //create an empty string object string str2="panther"; create an initialized string char charr1[20]; //create an...原创 2018-10-16 16:17:54 · 144 阅读 · 0 评论 -
预处理器编译指令
**预处理器编译指令——#define和#include**#define INT_MAX 32767#define和#include都是预处理器编译指令。该编译指令告诉预处理器:在程序中查找INT_MAX,并将所有独立的INT_MAX都替换为32767。修改后的程序将在完成这些替换后被编译。...原创 2018-10-16 16:23:08 · 602 阅读 · 0 评论 -
数据处理之操作符(四)
/操作符:两个数相除,取整数部分%操作符:两个数相除,取余数部分将浮点类型的数据转变为整型的数据时,会舍弃小数部分。原创 2018-10-16 16:23:35 · 279 阅读 · 0 评论 -
数据处理的一些笔记
1、\0:空字符 输入的字符串都是以“\0”结尾的,字符串末尾会隐式的包含\0比如字符串“s”,其实际是有s和\0共同组成的在确定存储字符串所需的最短数组时,需将结尾的空字符计算在内。字符串以空字符作为结束标志,不管其后是否还存在其他数据,如:char name1[15]="C++owboy",如果设置name1[3]='\0'则,name1为“C++”2、sizeo...原创 2018-10-16 16:23:58 · 196 阅读 · 0 评论 -
String类和字符数组
1、string对象和数组的区别 string对象和字符数组之间的主要区别是,可以将将string对象生命为简单变量,而不是数组string str1; //create an empty string objectstring str2="panther"; //create an initialized String程序会自动调整string对象的长度不能将一个数组赋值给...原创 2018-10-16 16:25:04 · 2236 阅读 · 0 评论 -
默认构造函数 new和delete 析构函数 私有成员和保护成员
1、默认构造函数定义默认构造函数的方法有两种: (1)如果没有提供任何构造函数,C++将创建默认构造函数。该默认构造函数不接受任何参数,也不执行任何操作。格式如下: Stonewt::Stonewt(){ } //implicit default constructor 可以显示的定义该默认构造函数,使用它来设置特定的值。如:...原创 2018-10-16 16:28:08 · 571 阅读 · 0 评论 -
按值传递/按引用传递 返回对象/返回引用
1、按值传递对象与传递引用: 通常,编写使用对象作为参数的函数时,应按引用而不是按值来传递对象。这样做的原因之一是提高效率。按值传递对象涉及到生成临时拷贝,即调用复制构造函数,然后调用析构函数。调用这些函数需用时间,复制大型对象比传递引用花费的时间要多的多。如果函数不修改对象,应将参数声明为const引用。 按引用传递对象的另一个原因是,在继承使用虚函数时,被定...原创 2018-10-23 15:06:44 · 1645 阅读 · 0 评论 -
位操作(一)
1、取出一个字节(byte)中的每一位(bit)转载自:https://blog.csdn.net/qq_21794823/article/details/53517628?locationNum=6&fps=1例: byte byData = 0x36; int n0, n1, n2, n3, n4, n5, n6, n7;n0 = (byData & 0x0...转载 2018-11-26 14:46:09 · 5033 阅读 · 1 评论 -
重载操作符 友元 成员函数 非成员函数
平时都不怎么用得上。重载操作符:operator+()友元:类的友元函数是非成员函数,其访问权限与成员函数相同。//mytime3.h#include<iostream>class Time{private: int hours; int minutes;public: Time(); Time(int h,int m=0);...原创 2018-10-16 16:26:23 · 409 阅读 · 0 评论 -
头文件管理 使用#ifndef防止多重包含 部分头文件用途及其中的函数介绍
1、 在同一个文件中只能将同一个头文件包含一次。记住这个规则很容易,但很可能在不知情的情况下将头文件包含多次。例如,可能使用包含了另一个头文件的头文件。有一种标准的C++技术可以避免多次包含同一个头文件。它是基于预处理器编译指令#ifndef(即if not define)的。下面的代码片段: #ifndef COORDIN_H_ ... ...原创 2018-10-16 16:27:15 · 993 阅读 · 0 评论 -
数据处理之数据类型(一)
类型signed char、short、int和long统称为符号整型;他们的无符号版本统称为无符号整型。 bool、char、wchar_t、符号整型和无符号整型统称为整型。 float、double和long double统称为浮点型。 整数和浮点型统称算术(arithmetic)类型一、int、short、long一个字节等于8位的内存单元。...原创 2018-09-16 00:01:43 · 510 阅读 · 0 评论 -
数据处理之数据格式(二)
一、C++以3种不同的计数来书写整数:基数为10、基数为16、基数为8。8进制以0开头,16进制以0x或0X开头。#include<iostream>int main(){using namespace std;int a=42; int b=0x42;int c=042;cout<<“a="<<a<<endl;cout...原创 2018-09-16 00:03:47 · 502 阅读 · 0 评论 -
数据处理之特殊字符(三)
\n:可以用字符常量表示法('\n')或字符串方式("\n")使用换行符。\":双引号\':单引号\r:回车\\:反斜杠\0:字符串结束符。在字符串的结尾都隐式的含有一个空字符。\t:制表符。使用它可以优化显示的格式,但各系统显示可能有所不同。...原创 2018-09-16 00:04:27 · 337 阅读 · 0 评论 -
Widget::Widget(QWidget *parent) :QWidget(parent)的理解
class Base{public: Base():m_num(0){ cout<<"this is Base()!"<<endl; } Base(int Val):m_num(Val){ cout<<"this is Base(int Val)!"<<endl; }private...原创 2018-09-17 14:55:56 · 5195 阅读 · 5 评论 -
对指针的知识点小结
1、指针的声明和初始化声明指向特定类型的指针的格式:typeName * poiterName;创建指针后,应将内存地址赋给它。int ducks=12; //创建ducks变量,将值12存储在在该变量中。int *birddog=&ducks; //创建指针变量birddog,将ducks的地址存储在该变量中。 将一个指针初始化为一个地址: #inc...原创 2018-10-16 16:29:13 · 195 阅读 · 0 评论 -
文本文件的输入、输出
1、写入文本文件使用文本文件输出的步骤: 1)包含头文件fstream 2)创建一个ofstream对象 3)将该ofstream对象同一个文件关联起来。 关联的方法:ofstream对象.open("文本文件名") 4)就像使用cout那样使用该ofstream对象。#include <iostream>...原创 2018-10-16 16:26:37 · 993 阅读 · 0 评论 -
C++知识点备忘录之基本语法(四)
1、a++和++a的区别#include <iostream>using namespace std;int main(){ int a=20; int b=20; cout<<"a++:"<<a++<<", ++b:"<<++b<<endl; cout&原创 2018-10-16 16:20:35 · 181 阅读 · 0 评论 -
使用多个if和使用if else if的区别
//Version1while(cin.get(ch)){ if(ch==' ') spaces++; if(ch=='\n') newlines++;}//Version2while(cin.get(ch)){ if(ch==' ') spaces++; else if(ch=='\n') ...原创 2018-10-16 16:24:32 · 5809 阅读 · 0 评论 -
C++知识点备忘录之函数、指针(五)
1、参数为空void say_hi():在C++中,括号为空与在括号中使用关键字void是等效的——意味着函数没有参数。2、传递数组为将数组类型和元素数量告诉数组处理函数,请通过两个不同的参数来传递他们: void fillArray(int arr[],int size); //OK! void fillArray(int arr[size]);...原创 2018-10-16 16:21:28 · 332 阅读 · 0 评论 -
递归
#include<iostream>using namespace std;void countdown(int n);int main(){ countdown(4); return 0;}void countdown(int n){ cout<<"Counting down ... "<<n<<end...原创 2018-10-16 16:25:40 · 157 阅读 · 0 评论 -
何时使用指针参数、引用参数、按值传递?
1、什么是引用?如何使用引用?为什么要使用引用? 1)什么是引用? 引用变量是一种伪装指针,它允许为变量创建别名(另一个名称)。 在初始化一个引用变量时,必须对其进行初始化。 2)何时使用引用? 引用变量主要被用作处理结构和类对象的函数的参数。 3)为什么要使用引用? 程序员能够修...原创 2018-10-16 16:15:30 · 2376 阅读 · 0 评论 -
C++知识点备忘录之多文件程序编写(六)
使用头文件来定义用户类型,为操作用户类型的函数提供函数原型;并将函数定义放在一个独立的源代码文件中。头文件和源代码文件一起定义和实现了用户定义的类型以及使用方式。最后,将main()和其他使用这些函数的函数放在第三个文件中。 #include<iostream>//const int ArSize=10;//void strcount(const char * str);...原创 2018-10-16 16:21:43 · 191 阅读 · 0 评论 -
const、extern、explicit关键字 静态变量(static声明、未命名的名称空间、类中使用枚举声明的变量) this指针
1、const关键字 (1)可以用const来确保方法不修改参数:Star::Star(const char * s){...} //won't change the string to which s points (2)可以用const来确保方法不修改调用它的对象:void Star::show()const{...} //won't change in...原创 2018-10-16 16:28:22 · 680 阅读 · 0 评论 -
位操作(二)
转载自:https://blog.csdn.net/czg13548930186/article/details/72859866位操作符1.位与&1、注意:位与符号是一个&,两个&&是逻辑与。2、真值表:1&0=01&1=10&0=00&1=03、从真值表可以看出:位与操作的特点是,只有1和1位与结果为1,其余全是0....转载 2018-11-26 17:40:54 · 2870 阅读 · 0 评论