摘要:
11、用字符数组存储和处理字符串 字符数组的声明和引用 字符串: 字符串常量 “china”,没有字符串变量,用字符数组来存放字符串,字符串以‘\0’结束。 字符串数组的初始化: 逐个输出输入字符串; 将整个字符串一次输入输出; 输出字符不包含\0; 输出字符串时用数组名,遇到\0结束; 输入多个字 阅读全文
摘要:
1、类的继承与派生 保持已有类的特性而构造新类的过程成为继承; 在已有类的基础上新增自己的特性而产生新类的过程称为派生; 被继承的已有类为基类;派生出的新类成为派生类。继承和派生其实是一回事。 继承的目的是实现代码的重用,派生的目的是当新的问题出现的时候,原有的程序不能解决时,需要对原程序进行改造。 阅读全文
摘要:
要实现深拷贝就需要自己编写拷贝构造函数。 深拷贝 #include<iostream> using namespace std; class Point { public: Point() { X=Y=0; cout<<"Default Constructor called."<<endl; } P 阅读全文
摘要:
动态创建多维数组 new 类型名T[下标表达式1][下标表达式2]…; 如果内存申请成功,new运算返回一个指向新分配内存首地址的指针,是一个T类型的数组,数组元素的个数为除最左边一维外各维下标表达式的乘积。例如: char (*fp)[3];//指向一维数组的指针,即指向一个整个数组,如果指针加1 阅读全文
摘要:
10、深拷贝与浅拷贝 浅拷贝: 实现对象间数据元素的一一对应赋值;(默认构造函数) 深拷贝: 当被复制的对象数据成员是指针类型时,不是复制该指针成员本身,而是将指针所指的对象进行复制。 //浅拷贝 #include<iostream> using namespace std; class Point 阅读全文
摘要:
//创建对象数组 #include<iostream> using namespace std; class Point { public: Point() { X=Y=0; cout<<"Default Constructor called."<<endl; } Point(int xx,int 阅读全文
摘要:
9.动态内存分配 new 类型名T(初值列表) 其功能是在程序执行期间申请用于存放T类型对象的内存空间,并依初值列表赋以初值,结果值:成功则T类型的指针,指向新分配的内存;失败则为0(null)。若要释放内存,则用delete *p;释放指针p指向的内存,P必须是new操作的返回值。 //动态分配 阅读全文
摘要:
8、对象指针 声明: 类名 *对象指针名 Point A(5,10); Point *ptr; ptr=&A;//通过指针访问对象成员:对象指针名->成员名。ptr->getX();相当于(*ptr).getX; 曾经错误的前向引用的例子 class Fred; //前向引用声明 class Bar 阅读全文
摘要:
8.2 指向类的静态成员的指针 对类的静态成员的访问不依赖于对象,可以用普通的指针来指向和访问。 //通过指针访问类的静态数据成员 #include <iostream> using namespace std; class Point //Point类声明 { public: //外部接口 Poi 阅读全文
摘要:
指针作为函数参量 指针作为函数参量,以地址的方式传递数据,可以用来返回函数处理结果;实参是数组名时形参可以是指针。 题目:读入三个浮点数,将整数部分和小数部分分别输出 #include <iostream> using namespace std; void splitfloat(float x, 阅读全文