![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ccpp初级
文章平均质量分 72
zealice
这个作者很懒,什么都没留下…
展开
-
c++初级 之 类的成员函数以及this指针使用
类的成员函数一般分以下几种:构造函数(包括拷贝构造函数)、析构函数、数据成员封装函数、一般功能函数。成员函数的返回值一般有三种类型:变量、引用、指针,要体会它们的区别。this指针指向的是当前对象,只能在类的非静态成员函数内部使用以类Array为例:Array.hclass Array{public: //构造函数 Array(int len); Array(原创 2017-08-21 17:03:44 · 513 阅读 · 0 评论 -
c++初级 之 纯虚函数、抽象类和接口类
首先区别虚函数和纯虚函数,参考http://www.cnblogs.com/fzhe/archive/2013/01/02/2842513.html什么是虚函数?那些被virtual关键字修饰的成员函数,就是虚函数(虚析构函数也可以包含在虚函数里)。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism)。虚函数声明如下:virtual ReturnType Fun转载 2017-09-08 20:06:16 · 348 阅读 · 0 评论 -
c++初级 之 运算符重载
一般在需要对类的成员进行运算符操作时进行运算符重载。运算符重载有两种方式:1.定义为类的友元函数2.定义为类的成员函数。以下为例:demo.cpp#include#include#include#include"Coordinate.h"using namespace std;Coordinate& operator++(Coordinate& coor);ostrea原创 2017-09-09 14:41:48 · 185 阅读 · 0 评论 -
c++初级 之 友元函数
友元的概念可以看成是类的补充,其实很bug。。它破坏了类的封装性,带来了风险。本文看友元函数定义了Time类的友元函数(两种方式:1.友元全局函数2.友元成员函数),如下Time.h#ifndef TIME_H#define TIME_H#include"Match.h"//因为有用到Match类的成员函数class Time{ //一个类的友元函数可以访问该类的私有、原创 2017-09-09 14:55:16 · 201 阅读 · 0 评论 -
c++初级 之 友元类
一个类的友元函数和友元类可以访问该类的所有成员(包括私有),是比继承还要亲密的关系。。亲不如友系列。另外,友元是单向的,而且没有传递性,比如b是a的友元(a把b当朋友),c是b的友元(b把c当朋友),即a->b->c,那么b可以访问a的所有成员,c可以访问b的所有成员,反过来却不行(一厢情愿),a和c也没有任何关系(朋友的朋友不是我的朋友)。以下为例:Time.h#ifnd原创 2017-09-09 15:32:38 · 240 阅读 · 0 评论 -
c++初级 之 模板
具体可以参考http://www.cnblogs.com/gw811/archive/2012/10/25/2738929.html唯一要注意的是,在vs2012环境里,模板代码不能分开编译,模板的声明和实现都放在一个.h文件中,不要分开成.h和.cpp两个文件,否则编译通不过。转载 2017-09-09 16:16:09 · 257 阅读 · 0 评论 -
c++初级 之 标准模板库(STL)
STL(Standard Template Library,标准模板库),可以理解为系统事先写好的模板类和模板函数,我们直接用就行。具体的理解可以参考:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html以下是简单例子:向量(vector)连续存储的元素列表(list) 由节点组成的双原创 2017-09-09 16:20:02 · 335 阅读 · 0 评论 -
c++初级 之 双向链表
以下为例DoubleLink.hstruct DLNode{ int data; DLNode * last; DLNode * next;};class DoubleLink{public: DoubleLink(); void insertNode(int position,int data);//在位置m(从0开始)插入新节点(注意位置0和最后一个位置的两个节原创 2017-09-11 20:58:19 · 208 阅读 · 0 评论 -
c++初级 之 类型转换
c语言中的类型转换就是直接转换了,比如int n = 1;int *a = &n;char *b = (char*)a;//直接括号里写转换类型这样很不安全于是cpp中将类型转换分类,比如statiac_cast(相近类型的两个量转换), dynamic_cas(基类到继承类转换)等等char *b = static_cast(a);//这是cpp里类型转换的标准方原创 2017-10-11 09:38:56 · 166 阅读 · 0 评论 -
c++初级 之 stringstream用法
转自http://www.cppblog.com/alantop/archive/2007/07/10/27823.htmlstringstream通常是用来做数据转换的。相比c库的转换,它更加安全,自动和直接。转载 2017-12-06 17:10:09 · 174 阅读 · 0 评论 -
c++初级 之 一些收藏
图解c/c++多级指针与“多维”数组https://www.cnblogs.com/chenyangyao/p/5222696.htmlC++ explicit的作用https://www.cnblogs.com/this-543273659/archive/2011/08/02/2124596.htmlC++ 之 常量成员函数https://www.cnblogs.com/x...转载 2019-01-25 09:21:51 · 253 阅读 · 0 评论 -
c++初级 之 vector与list对比
转自https://www.cnblogs.com/shijingjing07/p/5587719.html 1.vector数据结构vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内存块的拷贝,时间复杂度为o(n)。另外,当数组中内存空间不够时,会重新申请一...转载 2017-12-15 15:25:20 · 270 阅读 · 0 评论 -
c++初级 之 异常处理trycatchthrow
以下为例demo.cpp#include"Exception.h"#include"IndexException.h"#include#include#includeusing namespace std;void test(int a){ if(a == 0)throw int(1);//用这种写法,类型(类型的初始化值) if(a == 1)throw new原创 2017-09-08 21:02:31 · 231 阅读 · 0 评论 -
c++初级 之 动画效果
以下为例,可以实现动画效果,按任意键就可以实现“*”从左往右移动。#include#include#include //包含setwusing namespace std;int main(){ int i,col = 1; char c = '*'; for(i = 0;i < 10;i++){ system("cls");//清空屏幕 cout <<原创 2017-09-08 19:31:37 · 7580 阅读 · 1 评论 -
c++初级 之 类的“嵌套” 及 常成员函数和常数据成员
1.类的“嵌套”:当类A包含类B的头文件时,就像类B被嵌套在类A中了,在类A中可以定义类B的对象并调用对象的公有成员。2.常成员函数和常数据成员:在点类中举例说明。以点类和线类为例:点类Coordinate.h#ifndef COORDINATE_H#define COORDINATE_Hclass Coordinate{public://构造函数Coordinate原创 2017-08-24 15:56:06 · 471 阅读 · 0 评论 -
c++初级 之 拷贝构造函数
参考来自:http://www.cnblogs.com/BlueTzar/articles/1223313.html类X的拷贝构造函数的形式为X(const X& x)。当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:一个对象以值传递的方式传入函转载 2017-08-25 09:46:50 · 231 阅读 · 0 评论 -
c++初级 之 const与常量
对于const的理解,其本质:真正被const修饰的量是无法被修改的量(常量)。所以:1.对于“真正”的理解:要看清const真正修饰的是谁,一个真正被const修饰的量即为常量,不可被改变。反例比如const int *p,这个const真正修饰的是int,是p指向的那個int型的量*p,所以*p是常量,无法被改变;而p其实没有被const修饰,所以p仍是一个变量,指针变量,p可以被改变。2.在定义一个真正被const修饰的量(常量)时,必须要给它赋初值(包括类的常数据成员,在调用构造函数时,必须原创 2017-08-22 09:26:53 · 226 阅读 · 0 评论 -
c++初级 之 c++的继承性
c++的继承性就是指子类(派生类)继承父类(基类)。以下为例:Person类Person.h#ifndef PERSON_H#define PERSON_H#includeusing namespace std;class Person{public: //类内不写关键字,默认是private成员 Person(); void eat(); virt原创 2017-08-25 11:03:23 · 536 阅读 · 0 评论 -
c++初级 之 函数的新特性
c++的函数相比于c的函数来讲,有三个特性:1.可以重载 2.参数可以有默认值 3.新增内联函数原创 2017-08-22 10:27:22 · 290 阅读 · 0 评论 -
c++初级 之 c++的多态性
参考:http://blog.csdn.net/hackbuteer1/article/details/7475622多态性 指相同对象收到不同消息或不同对象收到相同消息时产生不同的实现动作。C++支持两种多态性:编译时多态性,运行时多态性。 a、编译时多态性:通过重载函数实现 b、运行时多态性:通过虚函数和虚析构函数实现。所谓重载,是指在同一个作用域(如同一个函数转载 2017-08-26 10:54:08 · 216 阅读 · 0 评论 -
c++初级 之 c语言的字符串cstring
在有c++的string类之前,c语言中我们用的是字符数组char[]或者字符数组指针char*来对字符串进行操作,可以参考:字符数组和字符数组指针的真正区别:http://blog.csdn.net/on_1y/article/details/13030439字符数组的定义与赋值以及由字符数组定义c语言的字符串:http://blog.csdn.net/zhaoshuzhaoshu/ar原创 2017-08-24 11:39:27 · 1843 阅读 · 0 评论 -
c++初级 之 c++的字符串string
在c++中,可以直接用string类型的量。必须包含头文件#include(当然不要忘了using namespace std;)string类属于标准模板库(STL),可以看作是系统预先写好的一个类,目的是为了简化对字符串的操作,我们可以实例化出string的对象然后进行一系列操作。操作可以参考c++字符串的定义、赋值及各种操作函数:http://www.jb51.net/article原创 2017-08-24 13:37:41 · 295 阅读 · 0 评论 -
c++初级 之 c++的封装性
c++作为面向对象的程序语言,有三大特性:封装性、继承性、多态性。此篇说明封装性:什么是封装?自己的理解就是将很多同类事物(比如狗类)的共同特性(名字、颜色、跑、叫、吃)封装起来,然后遇到一个该类事物(一只具体的狗)时,就可以直接使用从该类事物封装好的这些特性。用类和对象来讲,就是:类封装了所有同类对象的一些共同特性(每个对象都有的属性(数据成员)和方法(成员函数));实例化一个类的对象后,该原创 2017-08-24 14:43:20 · 1425 阅读 · 0 评论 -
c++初级 之 类的基本认识
以狗类为例认识类原创 2017-08-21 17:44:04 · 246 阅读 · 0 评论 -
C++初级 之 多线程、多进程
程序运行基础:https://blog.csdn.net/sunlin972913894/article/details/82751663多进程:https://blog.csdn.net/sodino/article/details/45146001#commentBoxhttps://www.cnblogs.com/hicjiajia/archive/2011/01/20/19...原创 2019-08-02 15:41:04 · 970 阅读 · 0 评论