一、从栈实例化对象

我们首先定义一个类,类的名字叫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()相关推荐

  1. Spring中利用applicationContext.xml文件实例化对象和调用方法

    Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...

  2. iOS培训objective-c——实例化对象

    蓝鸥iOS培训推荐:好像好长时间没和大家分享了,那么今天主要和大家说说OC内容创建实例化对象,基本让也就分为几大类: 1.ClassName*myNewClassName;//指针 2.myNewCl ...

  3. Java通过泛型的模板类型实例化对象

    Java通过泛型的模板类型实例化对象 最近自己研究了下mvvm框架,使用泛型的方式可节省很多代码,并且可以合并很多冗余代码,为了最大化的精简代码想到了通过泛型的type用反射的方式实例化对象,这样对象 ...

  4. 从Java到Go面向对象--类的定义和实例化对象

    2019独角兽企业重金招聘Python工程师标准>>> 面向对象基本思想 类.对象. #面向对象三大特征 封装.继承.多态. 接下来我会一一介绍Go的面向对象编程 Java中类的定义 ...

  5. c++在调用类的时候不一定非得实例化对象哦,有时候你不写系统会为你默认生成一个临时实例对象哦~

    具体的情况请大家见我在CDSN发的提问帖: 为什么下面基于C++的OpenCV代码在使用类时不用先实例化对象?

  6. php 对象里还有哪些对象_PHP面向对象(OOP)之实例化对象的方法

    点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网      源 / www.php.cn 面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实 ...

  7. php 单利模式实例化,php-单例模式实现mysql实例化对象

    1.回顾 上篇学习了php一个实例:简单的文章管理系统 2.学习点 这篇将使用单例模式封装一个实现mysql的实例化对象类 3.实现类 3.1 配置文件 config.php 定义常量:主机地址,用户 ...

  8. python类的实例方法必须创建对象前还是后可以调用_classmethod可以来调用类的属性,类的方法,实例化对象...

    classmethod可以来调用类的属性,类的方法,实例化对象,今天番茄加速就来讲一下. classmethod() classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第 ...

  9. java 反射 new区别_JAVA的newInstance()和new的区别(JAVA反射机制,通过类名来获取该类的实例化对象)...

    1.在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么 ...

最新文章

  1. 24 个必须掌握的数据库面试问题!
  2. mysql od函数_Mysql数学函数不求人
  3. Linux 永久修改主机名hostname
  4. 使用 rapidxml 做配置文件
  5. 浙江省二级计算机vfp,浙江省计算机2级vfp程序调试真题集.doc
  6. SpringBoot配置logback-spring.xml日志
  7. 基于JAVA+SpringMVC+Mybatis+MYSQL的网上医院预约挂号系统
  8. 认识与使用计算机 答案,计算机学习感悟—对计算机的认知和理解
  9. vue项目实现记住密码功能
  10. php5.6源码包,PHP-5.6.8 源码包编译安装
  11. 门禁上的push是什么意思_门禁系统专业术语对照表
  12. 异常事件检测论文汇总(Abnormal Event Detection)
  13. 解决K8S节点NotReady状态
  14. dell台式机安装centos7网卡设置
  15. 2.2 数据库应用系统开发方法
  16. 计算机领域的诺贝尔奖是图灵奖,计算机界诺贝尔奖“图灵奖”,由3名人工智能深度学习领域的先驱共同获得...
  17. 网络状态码302和303的区别究竟是啥?面试官最满意这种回答
  18. C语言 统计含有中文的字符串中的字数、 字符数和行数
  19. 改善脑力的70条方法
  20. java中public和private的区别

热门文章

  1. Java的数组集合概括
  2. 实现公司管理系统【C++实战】(53)
  3. C语言 关于指针的格式化
  4. jsp uri=http://java.sun.com/jsp/jstl/core报错解决
  5. 手机linux系统指令大全,Linux系统指令大全
  6. Android控件扫光动画,完美起航-AndroidTV控件获得焦点的扫光效果
  7. 面试常问的29个linux命令
  8. hashmap赋值给另一个hashmap_图解设计一个 HashMap
  9. 阿里云徐立:面向容器和 Serverless Computing 的存储创新
  10. vue打包后css路径_Vue打包后访问静态资源路径问题