一、从栈实例化对象

我们首先定义一个类,类的名字叫TV,里面包括两个成员变量,两个成员函数。

class TV // 定义一个电视的类TV
{
public:
char name[]; // 定义类的属性,一个数组
int type; void changeVol(); // 定义成员函数
void power();
}

下面开始从栈中实例化对象

如果定义一个对象,我们就在类TV后面写一个对象tv;

如果定义一个对象的数组,我们就在类TV后面写数组对象 tv[20] ,20是数组需要的元素。

int main(void)
{
TV tv; // 定义一个对象
TV tv[]; // 定义一个对象数组 return ;
}

示例:

#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 = ; // 访问数据成员,给成员变量 x 赋值
coor.y = ;
coor.printX();// 调用成员函数
coor.printY();
}

二、从堆中实例化对象

我们首先还是定义一个类,类的名字叫TV,里面包括两个成员变量,两个成员函数。

class TV // 定义一个电视的类TV
{
public:
char name[]; // 定义类的属性,一个数组
int type; void changeVol(); // 定义成员函数
void power();
}

下面开始从栈中实例化对象

在堆中实例化对象的时候,我们要首先申请一块内存,把这块内存给实例化的对象或者对象的组;

在使用完后,我们要将内存释放掉。

int main(void)
{
TV *p = new TV(); // 在堆中申请一个对象
TV *q = new TV[]; // 在堆中申请一个数组对象,20个变量 delete p; // 释放一个对象的内存
delete []q; // 释放一个数组的内存 return ;
}

示例:

#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 = ; // 用指针的形式给x赋值
p->y = ;
p->printX(); // 用指针的形式调用函数
p->printY(); system("pause");
return ;
}

C++ 实例化对象 p->printX()的更多相关文章

  1. [转]ThinkPHP中实例化对象M()和D()的区别,select和find的区别

    1.ThinkPHP中实例化对象M()和D()的区别 在实例化的过程中,经常使用D方法和M方法,这两个方法的区别在于M方法实例化模型无需用户为每个数据表定义模型类,如果D方法没有找到定义的模型类,则会 ...

  2. java实例化对象的方式

    一.Java中创建(实例化)对象的五种方式  1.用new语句直接创建对象,这是最常见的创建对象的方法. 2.通过工厂方法返回对象,如:String str = String.valueOf(23); ...

  3. PHP动态实例化对象并向构造函数传递参数

    在框架开发,模块化开发等场合,我们可能有一种需求,那就是在PHP运行时动态实例化对象. 什么是动态实例化对象呢?我们先来看一下PHP有一种变量函数(可变函数)的概念,例如如下代码: function ...

  4. 用TypeScript开发Vue——如何通过vue实例化对象访问实际ViewModel对象

    用TypeScript开发Vue--如何通过vue实例化对象访问实际ViewModel对象 背景 我个人很喜欢TypeScript也很喜欢Vue,但在两者共同使用的时候遇到一个问题. Vue的实例化对 ...

  5. 【PHP面向对象(OOP)编程入门教程】5.如何实例化对象?

    我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了. 当定义好类后,我们使用new关键字来生成一个对象. $对象名称 = new 类名称 ...

  6. PHP面向对象(OOP)编程入门教程————如何实例化对象?

    我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了. 当定义好类后,我们使用new关键字来生成一个对象. $对象名称 = new 类名称 ...

  7. c++实例化对象

    今天看到c++实例化对象,有点懵了.Activity_Log the_log (theLogPtr, Tree->GetBranch());这是那一段小代码,开始没看懂.java看习惯了总喜欢n ...

  8. 1、c#中可以有静态构造方法,而java中没有,例如在单例模式中c#可以直接在静态构造中实例化对象,而java不可以

    1.c#中可以有静态构造方法,而java中没有,例如在单例模式中c#可以直接在静态构造中实例化对象,而java不可以

  9. javascript基础知识--什么是构造函数?什么是实例化对象?

    前言--讲在前面 我想有很多以前很少接触后台编程语言的初学者朋友跟我一样,对javascript里面一系列的“名词”搞的一头雾水.好像大概知道讲的是什么,但其实理解的还是不清楚:我想,学习任何一种知识 ...

随机推荐

  1. 51Nod 1596 搬货物

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1596 思路: 模拟二进制的进位. 这题很坑啊...用c++会超时,用c就 ...

  2. npm安装vue详细教程(图片详解)

    npm安装vue详细教程(图片详解) 一.总结 一句话总结:整个安装流程照着教程来,注意系统环境变量的配置,注意一下npm的本地仓库和缓存位置 教程 系统环境变量 仓库 缓存 1.什么情况下最适合用n ...

  3. PythonInstaller编译EXE方法+编译过程出错方案大全

    https://www.cnblogs.com/gopythoner/p/6337543.htmlhttps://www.zhihu.com/question/22963200https://blog ...

  4. JS object(对象)的学习汇总

    Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...

  5. 006PHP文件处理—— 目录操作 删除目录 删除置顶类型文件

    <?php /** * 目录操作 删除目录 删除置顶类型文件 */ //echo rmdir('61') or die('目录删除失败'); //删除一个目录中有其他文件的内容的方法: //第1 ...

  6. Laravel框架中Validor中错误信息$error的输出

    @if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($e ...

  7. 获得文件路径 _pgmptr, _makepath, _splitpath

    #include <stdlib.h> #include <stdio.h> int main(void) { char path_buffer[_MAX_PATH]; cha ...

  8. BLE Android开发中的问题

    在此直说两个问题,第一是Android6.0 SDK23版本情况下开发的Android BLE APP,千万要记得在代码中申请到地理位置读取权限,否则你的APP在运行的时候会出现各种问题,另外就是除了 ...

  9. maven+jmeter+jenkins集成

    马上要国庆了,最近比较忙,但是感觉忙的效率很一般,之前写过ant的集成,这两天研究了下maven,其中核心的插件便是jmeter-maven-plugin,要想了解更多的朋友,可以自行去官网wiki学 ...

  10. MAC环境下 Android P 系统源码下载、编译、导入到AS、Pixel2xl刷机 实战

    一.下载源码 1 . 确保主目录下有一个 bin/ 目录,并且该目录包含在路径中: mkdir ~/bin PATH=~/bin:$PATH 2 . 下载 Repo 工具,并确保它可执行: curl ...