C++学习
文章平均质量分 65
演绎一场属于你我的戏
学生
展开
-
C++读取txt中的数据到数组中
#include #include #include using namespace std;void main(){int i;double A[37];{FILE *fp;if((fp=fopen("D:\\1.txt","r"))== NULL){ printf("cannot open this file\n"); exit(0);}fo原创 2013-09-23 21:57:22 · 1011 阅读 · 0 评论 -
排序篇之希尔排序
希尔排序是针对插入排序的一种改进原创 2014-05-22 12:18:07 · 516 阅读 · 0 评论 -
构造函数定义为private,protected
将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法??? 提出这个问题,说明你已经对c++有所思考了。 从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,转载 2014-08-18 12:09:53 · 419 阅读 · 0 评论 -
多层派生的构造函数和虚基类派生的构造函数的区别
多层派生是指:有一个基类A,派生出基类B,然后原创 2014-08-22 15:34:25 · 1115 阅读 · 1 评论 -
虚函数与多态性,虚拟继承,纯虚函数及重载、覆盖、隐藏的区别
首先我们通过一个例子来讲述原创 2014-05-29 15:58:03 · 1015 阅读 · 0 评论 -
单目运算符重载
单目运算符只有一个操作数,重载方法与原创 2014-08-12 22:21:09 · 1474 阅读 · 0 评论 -
重载流插入运算符
用户自定义的类型的数据,是不能直接用“<<”和“”原创 2014-08-13 10:14:21 · 1152 阅读 · 0 评论 -
运算符重载
函数重载就是对一个已有的函数赋予新的含义,使之实现新的功能。原创 2014-08-12 20:45:36 · 317 阅读 · 0 评论 -
区分“派生类对象”和“派生类”对基类成员的访问权限
1.“派生类对象”和“派生类”对基类成员的访问权限原创 2014-08-13 17:25:53 · 4258 阅读 · 2 评论 -
重载流提取运算符
#include using namespace std;class Complex{public: Complex(){real=0;image=0;} Complex(int r,int i){real=r;image=i;} friend ostream& operator friend istream& operator>>(istream &,Comple原创 2014-08-13 10:30:38 · 418 阅读 · 0 评论 -
不同类型数据间的转换
1.标准类型数据之间的转换原创 2014-08-13 16:51:29 · 773 阅读 · 0 评论 -
多级派生时的访问权限
下面通过一个简单的例子来介绍一下原创 2014-08-15 11:28:36 · 494 阅读 · 0 评论 -
指针数组和数组指针
指针数组和数组指针,从名字当中就可以看出代表的意思不同。指针数组:原创 2014-06-30 17:11:10 · 323 阅读 · 0 评论 -
排序篇之堆排序
堆的定义:堆实质上是满足如下性质的完全二叉树:树中任一非叶子结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。原创 2014-05-22 23:15:51 · 344 阅读 · 0 评论 -
排序篇之快速排序
快速排序是一种划分交换排序。它采用了一种分治的策略原创 2014-05-13 22:55:19 · 413 阅读 · 0 评论 -
指针作为函数参数
#include using namespace std;int main(){ void swap(int *,int *); int *pointer_1,*pointer_2,a,b; cin>>a>>b; pointer_1=&a; pointer_2=&b; if(a { swap(pointer_1,pointer_2); } co原创 2013-10-09 20:14:30 · 372 阅读 · 0 评论 -
输入一个字符串内有数字和非数字字符,将连续的数字作为一个整数,存到数组a中,统计整数的个数,并输出这些数
#include using namespace std;int main(){ int statistic(char *,int *); char str[50],*pstr; int a[10],*pa,len; int m=0; pstr=str; pa=a; cout gets(str); cout len=strlen(str);原创 2013-10-11 22:37:54 · 5550 阅读 · 0 评论 -
C++中,cin和gets()的区别
下面通过两个例子说明一下此cin和gets()区别:#includeusing namespace std;int main(){ char str[20]; cin>>str; cout return 0;}输入:abc[空格]abc输出:abc#includeusing namespace std;原创 2014-03-16 09:56:54 · 5215 阅读 · 0 评论 -
迷途指针(又称为,悬浮指针或失控指针)
编程中有一种很难发现的错误是迷途指针。迷途指针也叫悬浮指针(失控指针),是对一个指针进行delete操作后并没有把它设置为空时产生的。在C++中,delete一个指针仅仅是释放它所指向的内存,即把这块内存区标明为可用,而不会改变指针所指向的地址值。而后,你如果没有重新赋值就试图再次使用该指针,引起的结果是不可预料的。根据前人的经验,在删除指针后小心不要再使用它。虽然这个指针仍然指向原来的内存区转载 2014-03-28 16:44:10 · 902 阅读 · 0 评论 -
拷贝构造函数(深拷贝和浅拷贝)
深拷贝和浅拷贝的定义可以简单理解成:如果一个类拥有资源(堆,或者是其它系统资源),当这个类的对象发生复制过程的时候,这个过程就可以叫做深拷贝,反之对象存在资源,但复制过程并未复制资源的情况视为浅拷贝。通过以下程序介绍一下拷贝函数:原创 2014-03-31 17:18:37 · 361 阅读 · 0 评论 -
请讲述heap和stack的区别
在进行C/C++编程时,需要程序员转载 2014-04-15 17:46:11 · 432 阅读 · 0 评论 -
this指针
在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this。它是指向本类对象的指针,它的值是当前被调用成员函数所在的成员变量得起始地址。下面举个例子来说明一下:当调用成员函数a.volume时,编译系统会把a的起始地址赋给this指针,于是在成员函数引用数据成员时,就按照this的指向找到对象a的数据成员。this指针是隐式使用的,他是作为参数被传递给成员函数的,volu原创 2014-04-02 10:57:24 · 447 阅读 · 0 评论 -
C++中实际地址的计算
写出下面程序的运行结果:int a[3];a[0]=0;a[1]=1;a[2]=2;int *p,*q;p=a;q=&a[2];coutq表示a[2]的实际地址,p表示a[1]的实际地址,相差8。q-p的运算是:(q的地址-p的地址)/sizeof (int),即8/(sizeof(int))。原创 2014-03-25 17:49:49 · 807 阅读 · 0 评论 -
string类(想要学好字符串,必须掌握string类)
头文件机命名空间:#includeusing namespace std;转载 2014-04-23 11:06:38 · 397 阅读 · 0 评论 -
C++队列实现的基本操作
#include #include #include using namespace std;typedef int elemType;typedef struct nodet //结点的结构{ elemType data; struct nodet *next;}node_t;typedef struct queuet //队列的结构原创 2014-04-11 22:06:07 · 3080 阅读 · 0 评论 -
排序篇之冒泡排序
冒泡排序的原理如下:1.比较相邻元素。原创 2014-05-21 23:08:50 · 417 阅读 · 1 评论 -
类得继承与组合
在一个类中,可以用类对象作为数据成员,即子对象。原创 2014-08-18 10:46:08 · 929 阅读 · 0 评论