C++基础(和类有关2)对象的定义
来源:互联网 发布:淘宝女鞋推荐 编辑:程序博客网 时间:2024/05/16 11:38
一 对象的定义
定义一个类时,也就是定义了一个具体的数据类型。若要使用类, 需要将类实例化,即定义该类的对象。
1.先定义类类型再定义对象
有两种定义对象的形式:
①将类的名字直接用作类型名:
类名 对象名列表
②指定关键字class或struct,后面跟着类的名字:
class 类名 对象名列表; 或 struct 类名 对象名列表;
对象名列表是一个或多个对象的序列,各对象之间用逗号(,)分隔,最后必须用分号(;)结束,对象取名必须遵循标识符的命名规则。例如
Point a,b; ; //C++ 特色定义对象
class Point x,y; ; // 兼容C C 语言特色定义对象
2.定义类类型的同时定义对象
一般形式为:
class 类名 { // 类体成员列表} 对象名列表 ;
例如:
class Point { // 类体public: : … … // 公有的数据成员和成员函数private: : … … // 私有的数据成员和成员函数} one , two; //对象列表
3.直接定义对象
一般形式为:
class { // 类体成员列表} 对象名列表 ;
例如:
class { // 无类名类体public: … … // 公有的数据成员和成员函数private: … … // 私有的数据成员和成员函数} p1 , p2; // 对象列表
二 对象的动态建立和释放
有时人们希望在需要用到对象时才创建(create)对象,在不需要用该对象时就撤销(destroy)它,释放其所占的存储空间,从而提高存储空间的利用率。 利用new运算符可以动态地分配对象空间,delete运算符释放对象空间。
动态分配对象的一般形式为:
类名 * 对象指针变量;
对象指针变量 = new 类名;
例如:
Point *a;//定义指向Point对象的指针变量a=new Point;//动态分配Point对象
用new运算动态分配得到的对象是无名的,它返回一个指向新对象的指针的值,即分配得到是对象的内存单元的起始地址。程序通过这个地址可以间接访问这个对象,因此需要定义一个指向类的对象
的指针变量来存放该地址。显然,用new建立的动态对象是通过指针来引用的。 在执行new运算时,如果内存不足,无法开辟所需的内存空间,C++编译器会返回一个0值指针。因此,只要检测返回值是否为0,
就可以判断动态分配对象是否成功,只有指针有效时才能使用对象指针。
当不再需要使用由new建立的动态对象时,必须用delete运算予以撤销。例如:
delete p ;//撤销p所指的Point对象
释放了p所指向的对象。此后程序不能再使用该对象。new建立的动态对象不会自动被撤销,即使程序运行结束也是如此,必须人为使用delete撤销。
- C++基础(和类有关2)对象的定义
- Object-c 对象的使用和定义
- <C++>10.对象的定义和使用
- 类的定义和对象的定义
- 类和对象的定义
- C语言中有关颜色的定义
- (C++)类与对象2-1 Point类的定义
- 类和对象的基础1——定义和初始化
- 第一章 C++编程基础(对象的定义和初始化)
- java基础-面向对象、类与对象的定义
- 面向对象基础——类与对象的定义
- 类和对象的定义和使用
- 黑马程序员--IOS基础:OC--类的定义和对象的创建
- C++语言基础 例程 类的声明和对象的定义
- 有关类的基础
- 树的有关定义和性质
- C++基础学习—定义类和对象
- Object C学习笔记3-对象的使用和定义
- 【NOIP2013模拟联考7】OSU
- cookie和session的区别
- BZOJ1207(HNOI2004)[打鼹鼠]--最长升
- 1.每天一个java小程序之猜数字游戏
- 索引案例一:单表优化案例
- C++基础(和类有关2)对象的定义
- 获取元素的所有内容
- (划分树)poj2104 K-th Number
- 【JavaWeb】SpringMvc 文件上传
- 以后发博客必保存
- mybatis的动态sql
- 记一次关于list的bug
- XMU 数字图像处理实验4 VC/VS MFC 编写JPEG图象读/写程序
- object-c学习:object-c的函数、块