C++ 实例化对象 p-printX()
一、从栈实例化对象
我们首先定义一个类,类的名字叫TV,里面包括两个成员变量,两个成员函数。
class TV // 定义一个电视的类TV { public:char name[20]; // 定义类的属性,一个数组int type;void changeVol(); // 定义成员函数void power(); }
下面开始从栈中实例化对象
如果定义一个对象,我们就在类TV后面写一个对象tv;
如果定义一个对象的数组,我们就在类TV后面写数组对象 tv[20] ,20是数组需要的元素。
int main(void) {TV tv; // 定义一个对象TV tv[20]; // 定义一个对象数组return 0; }
示例:
#include <iostream> #include <stdlib.h> using namespace std;class Coordinate // 定义一个类Coordinate(坐标) { public: // 访问限定符int x;// 定义一个成员变量 x (坐标x)int y;// 定义一个成员函数 y (坐标y)void printX()//定义一个成员函数 printX(),函数的作用是输出 x 的值 {cout << x << endl;} void printY()//定义一个成员函数 printY(),函数的作用是输出 y 的值 {cout << y << endl;} };int main(void) {// 用栈的方式实例化类 Coordinate coor; // coor是定义在栈中的一个实例化的对象 coor.x = 10; // 访问数据成员,给成员变量 x 赋值coor.y = 20;coor.printX();// 调用成员函数 coor.printY(); }
二、从堆中实例化对象
我们首先还是定义一个类,类的名字叫TV,里面包括两个成员变量,两个成员函数。
class TV // 定义一个电视的类TV { public:char name[20]; // 定义类的属性,一个数组int type;void changeVol(); // 定义成员函数void power(); }
下面开始从栈中实例化对象
在堆中实例化对象的时候,我们要首先申请一块内存,把这块内存给实例化的对象或者对象的组;
在使用完后,我们要将内存释放掉。
int main(void) {TV *p = new TV(); // 在堆中申请一个对象TV *q = new TV[20]; // 在堆中申请一个数组对象,20个变量delete p; // 释放一个对象的内存delete []q; // 释放一个数组的内存return 0; }
示例:
#include <iostream> #include <stdlib.h> using namespace std;class Coordinate // 定义一个类Coordinate(坐标) { public: // 访问限定符int x;// 定义一个成员变量 x (坐标x)int y;// 定义一个成员函数 y (坐标y)void printX()//定义一个成员函数 printX(),函数的作用是输出 x 的值 {cout << x << endl;} void printY()//定义一个成员函数 printY(),函数的作用是输出 y 的值 {cout << y << endl;} };int main(void) {// 用堆的方式实例化类 Coordinate *p = new Coordinate();p->x = 100; // 用指针的形式给x赋值p->y = 200;p->printX(); // 用指针的形式调用函数p->printY();system("pause");return 0; }
转载于:https://www.cnblogs.com/chuijingjing/p/9245445.html
C++ 实例化对象 p-printX()相关推荐
- Spring中利用applicationContext.xml文件实例化对象和调用方法
Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...
- iOS培训objective-c——实例化对象
蓝鸥iOS培训推荐:好像好长时间没和大家分享了,那么今天主要和大家说说OC内容创建实例化对象,基本让也就分为几大类: 1.ClassName*myNewClassName;//指针 2.myNewCl ...
- Java通过泛型的模板类型实例化对象
Java通过泛型的模板类型实例化对象 最近自己研究了下mvvm框架,使用泛型的方式可节省很多代码,并且可以合并很多冗余代码,为了最大化的精简代码想到了通过泛型的type用反射的方式实例化对象,这样对象 ...
- 从Java到Go面向对象--类的定义和实例化对象
2019独角兽企业重金招聘Python工程师标准>>> 面向对象基本思想 类.对象. #面向对象三大特征 封装.继承.多态. 接下来我会一一介绍Go的面向对象编程 Java中类的定义 ...
- c++在调用类的时候不一定非得实例化对象哦,有时候你不写系统会为你默认生成一个临时实例对象哦~
具体的情况请大家见我在CDSN发的提问帖: 为什么下面基于C++的OpenCV代码在使用类时不用先实例化对象?
- php 对象里还有哪些对象_PHP面向对象(OOP)之实例化对象的方法
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实 ...
- php 单利模式实例化,php-单例模式实现mysql实例化对象
1.回顾 上篇学习了php一个实例:简单的文章管理系统 2.学习点 这篇将使用单例模式封装一个实现mysql的实例化对象类 3.实现类 3.1 配置文件 config.php 定义常量:主机地址,用户 ...
- python类的实例方法必须创建对象前还是后可以调用_classmethod可以来调用类的属性,类的方法,实例化对象...
classmethod可以来调用类的属性,类的方法,实例化对象,今天番茄加速就来讲一下. classmethod() classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第 ...
- java 反射 new区别_JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)...
1.在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么 ...
最新文章
- 24 个必须掌握的数据库面试问题!
- mysql od函数_Mysql数学函数不求人
- Linux 永久修改主机名hostname
- 使用 rapidxml 做配置文件
- 浙江省二级计算机vfp,浙江省计算机2级vfp程序调试真题集.doc
- SpringBoot配置logback-spring.xml日志
- 基于JAVA+SpringMVC+Mybatis+MYSQL的网上医院预约挂号系统
- 认识与使用计算机 答案,计算机学习感悟—对计算机的认知和理解
- vue项目实现记住密码功能
- php5.6源码包,PHP-5.6.8 源码包编译安装
- 门禁上的push是什么意思_门禁系统专业术语对照表
- 异常事件检测论文汇总(Abnormal Event Detection)
- 解决K8S节点NotReady状态
- dell台式机安装centos7网卡设置
- 2.2 数据库应用系统开发方法
- 计算机领域的诺贝尔奖是图灵奖,计算机界诺贝尔奖“图灵奖”,由3名人工智能深度学习领域的先驱共同获得...
- 网络状态码302和303的区别究竟是啥?面试官最满意这种回答
- C语言 统计含有中文的字符串中的字数、 字符数和行数
- 改善脑力的70条方法
- java中public和private的区别
热门文章
- Java的数组集合概括
- 实现公司管理系统【C++实战】(53)
- C语言 关于指针的格式化
- jsp uri=http://java.sun.com/jsp/jstl/core报错解决
- 手机linux系统指令大全,Linux系统指令大全
- Android控件扫光动画,完美起航-AndroidTV控件获得焦点的扫光效果
- 面试常问的29个linux命令
- hashmap赋值给另一个hashmap_图解设计一个 HashMap
- 阿里云徐立:面向容器和 Serverless Computing 的存储创新
- vue打包后css路径_Vue打包后访问静态资源路径问题