- 浏览: 224797 次
- 性别:
- 来自: 淄博
文章分类
- 全部博客 (666)
- java (6)
- android (9)
- 架构 (0)
- android游戏 (13)
- android系统 (14)
- c++ (14)
- 数据库 (10)
- javascript (2)
- 版本控制 (1)
- webservice (1)
- linux (5)
- uml (1)
- android多媒体部分 (16)
- java中的JNI (6)
- HTML5 (5)
- CSS3 (1)
- swing (13)
- 线程并发 (9)
- 分布式 (5)
- 云计算 (1)
- 通信协议 (4)
- xml (4)
- c# (1)
- lucene (0)
- ibatis (0)
- hibernate (3)
- struts1 (3)
- struts2 (4)
- jsf (0)
- spring (5)
- spring for android (0)
- 感悟 (2)
- jpa (1)
- android gis (1)
- jbpm (0)
- java设计模式 (8)
- java web (4)
- EXT js (0)
- node JS (2)
- python (3)
- c (17)
- weblogic (0)
- opencv (1)
最新评论
创建自已的数据类型
1 对像的概念
2 c++中的结构
定义结构类型 格式如下:
struct Book{
char title[80];
char author[80];
char publisher[80];
int year;
};
声明结构类型的变量
struct Book paperback;
创建结构类型的对像(数组类似)
Book novel={
"thinking in java",
"yuezhenhua",
"xinhua";
2012
};
访问结构对像的成员 novel.year
对结构使用指针
Book * pBook=0;
如果定义了一个对象aBook
pBook=&aBook;
自由存储区中创建对象
Book cBook=new Book();
通过指针访问结构成员
示例代码如下: //定义一本书
Book theBook={...};
//声明一个指向Book对像的指针
Book * pBook=&theBook;
//可以用指针去访问他的数据成员
(*pBook).year+=10;
指针成员访问运算符: ->
这样上面的语句就可以改写为:
pBook->year+=10;
对象指针的应用:
一、在自由存储区中创建和访问对象
二、链表
三、实现多态性
3 联合 是一种数据类型
使用联合的三种方式:
一、在同一内存块中存储程序中不同时期的不同变量
二、涉及数组,为了节省大量内存
三、以两种或更多种不同的方式来解释相同的数据
声明联合 使用union
示例代码如下:(为long类型和double类型提供一个共同的存储空间)
union ShareLD(){
double dVal;
long lVal;
};
声明联合的一个实例
一种方式:ShareLD myUnion;
还有一种方式: union ShareLD(){
double dVal;
long lVal;
}myUnion;
引用联合的成员: myUnion.dVal=100;
匿名联合:
union ShareLD(){
double dVal;
long lVal;
};
4 更复杂的结构
为了节省内存,必须让变量共享内存 示例代码如下:
union Item{
double dData;
float fData;
int iData;
long lData;
};
item可以存储以上四种类型的任何一种,但在任意时候只能存储一种类型的
值 如下:
Item value;
value.dData=25.0;
稍后可以 value.lData=5; 此时存储的数值变为long类型
所以要有一中检查类型的方法
可以使用枚举的方式: enun{double,float,int,long};
声明两个成员的结构, 一个是成员变量,一个是成员类型
struct ShareData{
union{ //匿名联合 成员变量
double dData;
float fData;
long lData;
int iData;
};
Type type; //成员类型
}
声明ShareData类型的变量 ShareData value={3.0,double}; //第一个为
值,第二个为类型
只要在每次设置值时,设置类型,就可以检测所存储值的类型
if(value.type==long){ //执行对应操作};
把结构作为成员
例如:struct Person{
Name name; //
Data birthday; //
phone number; //
};
Person 的成员对应三个结构
struct Name{
char firstname[80];
char surname[80];
};
struct Data{
int day;
int nonth;
int year;
};
struct Phone{
int areacode;
int number;
}
声明结构对象的方式;
一、 Person him;
二、也可以在声明变量时初始化列表
peroson yue={
{"yue","zhenhua"},
{4,9,1984},
{15865547898}
};
引用成员的值 yue.Name.firstname;
发表评论
-
c++学习笔记一
2012-09-03 15:25 634基本概念 第一个程序 h ... -
c++学习笔记二
2012-09-03 15:26 326处理基本数据类型 1 混合表达式 (向上转型) 2 赋 ... -
c++学习笔记三
2012-09-03 15:26 555选择和决策 比较数据值 1 关系运算符:< &g ... -
c++学习笔记五
2012-09-03 15:27 609while do-while for循环 循环和变 ... -
c++学习笔记六
2012-09-03 15:28 242指针 可以使用指针记 ... -
c++学习笔记七
2012-09-03 15:28 533使用函数编程 程序的分解 1 函数 定义函 ... -
c++学习笔记八
2012-09-03 15:29 521函数 1 函数的重载: 函数名相同,参数个数不同 ... -
c++学习笔记九
2012-09-20 23:14 466程序文件和预处理指令 1 程序文件 头文件:类型定 ... -
c++学习笔记十一
2012-09-20 23:20 274类 1 封装 继承 多 ... -
c++学习笔记十二
2012-09-20 23:20 478类的操作 1 类对象使用指针的三种情况: ... -
c++学习笔记十三
2012-09-20 23:31 465运算符重载 1 为自已的类实现运算符 运 ... -
c++学习笔记十四
2012-09-20 23:32 622继承 1 类和面向对象编程 2 类的继承 继承 ... -
c++学习笔记十五
2012-09-20 23:36 578虚函数和多态性 使用基类指针,示例代码如下(从Box派 ...
相关推荐
c++学习笔记/知识要点精华版
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记
c++学习笔记.pdf
C++学习笔记C++学习笔记C++学习笔记C++学习笔记C++学习笔记
C++学习笔记
【C++学习笔记】一份详细的学习笔记,让你轻松掌握C++编程!
C++学习笔记.docx
C++学习笔记: 以学习、思考、记录、分享为乐。
c++完美学习笔记c++完美学习笔记c++完美学习笔记c++完美学习笔记
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记002
C++学习笔记
C++基础的学习笔记(其中的代码源件可私信留言) C++中的空头程序 使用C++书写hello world 学习变量 学习常量 标识符命名规则 数据类型 运算符 程序流程结构 数组 函数 指针 结构体
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记003
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记004
C++ 学习笔记C++ 学习笔记C++ 学习笔记C++ 学习笔记001
C++学习笔记经典(与C比较),是学习C++的好资料。
Visual C++学习笔记,切身学习体会和总结
适用人群:C++初学者及C++期末考试冲刺 此C++学习笔记是本人在学习中思考总结所得,能够很好地帮助你入门C++或冲刺期末考试,让你掌握C++基础。
该笔记是我在mooc上看C++程序设计时做的一些笔记,因为是突发学习C++,要什么就学习什么,现在已经学到“文件输入输出流”,因为现在的项目不需要用到模板的知识,所以暂时只学到这么多,之后肯定还得学的,这个老师...