【C++】类 对象

类,可以理解为用户定义的类型;类用于指定对象的形式,类中包含了数据表示法和用于处理数据的方法;就像C语言中的结构体,但是进行了一些扩展;
类的成员,也就是类中的数据和方法称为成员;
类是抽象的笼统的,实例化后的称为对象;

打个比方,一条狗叫旺财,两岁,能跑会跳;我们统称狗为类,狗的属性为“狗”类的成员,具体到那一条狗,比如旺财这条狗,就是对象;

从类中实例化对象分两种方法:
1、从栈中实例化对象
2、从堆中实例化对象

#include <iostream>
#include <string>
using namespace std;

class Dog
{
    public:
        string name;
        int age;
        
        void run(){
            cout << "小狗的名字是:" << name << "," << "年龄是" << age << endl;
        }
};

int main()
{
    Dog dog1;
    dog1.name = "旺财";
    dog1.age = 2;
    dog1.run();
    
    Dog *dog2 = new Dog();
    if(NULL == dog2){
        return 0;
    }
    dog2->name = "辣堡";
    dog2->age = 1;
    dog2->run();
    
    delete dog2;
    dog2 = NULL;
     
    return 0;
}
第5行,定义了一个Dog类

第7行,访问限定符public(公有的),此外还有private(私有的) protected(受保护的);写这个的目的是为了下面我们
要调用这些成员,不写访问限定符默认是private
private 表示该部分内容是私密的, 不能被外部所访问或调用, 只能被本类内部访问; 
而 public 表示公开的属性和方法, 外界可以直接访问或者调用。

第8~11行,定义了一个字符串变量name,整型变量age,和一个方法run()

第18行,从栈中实力换一个对象dog1

第19~20行,为dog1的成员变量赋值

第23行,从堆中实例化对象,使用关键字 new 的都是从堆中实例化对象

第24行,从堆中实例化对象需要开辟内存,指针会指向那个内存,如果new没有申请内存成功,p即指向NULL,程序就自动退出,
下面就不执行了,写这个是为了严谨

第31~32行,释放内存,将dog2重新指向NULL

请添加图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

umiuwifi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值