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

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C++ 实例化对象 p->printX()

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/276847

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午2:02
下一篇 2023年2月15日 上午2:03

相关推荐