C++对象的创建和使用

        定义了类,就相当于定义了一个数据类型。类与int、char等数据类型的使用方法是一样的。可以定义变量,数组和指针等。使用类定义的变量通常称为该类的对象。

        对象的定义格式如下:
        类名 对象名;

1.对象访问其成员

        对象通过"."访问它的成员变量和成员函数。

对象名.成员变量 //访问对象的成员变量.
对象名.成员函数 //访问对象的成员函数.

        例如下面的代码,创建一个日期类。

class Date //日期类
{
private:
    int year;//年
    int month;//月
    int day;//日
public:
    void set(int y, int m, int d)//赋值操作,在类声明中定义
    {
        year = y;
        month = m;
        day = d;
    }
    bool isLeapYear() //判断闰年,在类声明中定义
    {
        return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
    }
	void show();//输出日期
};

void Date::show()//输出日期,在类声明外定义
{
    cout << year << "年" << month << "月" << day << "日" << endl;
}

int main()
{
    Date today;            //创建一个Date的对象,名字为today
    today.set(2023,4,21);  //today访问它的set函数
    today.show();          //today访问它的show函数
    if (today.isLeapYear())//today访问它的sisLeapYear函数
        cout << "今年是闰年" << endl;
    else
        cout << "今年不是闰年" << endl;		
    return 0;
}

        上述代码中,创建了类的对象today之后,系统就要为对象分配内存空间,用于存储对象成员。

2.对象的指针访问其成员

        对象的指针通过"->"访问它的成员变量和成员函数。

对象的指针->成员变量
对象的指针->成员函数

        如下代码:


int main()
{
	Date today;
	today.set(2023,4,21);
	Date* pd = &today;
	pd->show(); //对象指针通过->访问它的成员

	return 0;
}
3.对象的引用访问其成员

        对象定义一个引用变量,它们是共占同一段存储单元的,实际上它们是同一个对象,只是用不同的名字表示而已。因此完全可以通过引用变量来访问对象中的成员。

        对象定义引用的方式:

类型 &引用变量名=对象名;

        例如:通过对象的引用变量来访问对象的数据成员和成员函数。

#include<iostream>
using namespace std;
class Time //时间类
{
public :
    int hour;  //小时
    int minute;//分钟
    int second;//秒
    void showTime();//显示时间
};

void Time::showTime()
{
    cout<<hour<<"时"<<minute<<"分"<<second<<"秒"<<endl;
}

int main()
{
    Time t1 = {16,48,56}; //创建Time对象t1
    Time &t2=t1;   //t2是t1的引用
    t1.showTime(); //通过t1访问其成员函数
    t2.showTime(); //通过引用变量访问对象的成员函数
    return 0;
}

程序运行结果如下:

1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

雪星猫宇

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

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

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

打赏作者

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

抵扣说明:

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

余额充值