对象

对象定义

(1)定义类的同时定义对象

class Ex
{
    int i;
public:
    int Mod()
    {
        return I;
    }
}data1,data2;        //定义两个对象data1和data2

(2)先定义类再定义对象

class Ex
{
    int i;
public:
    int Mod()
    {
        return I;
    }
};
Ex data1,data2;        //定义两个对象data1和data2

也可以如下定义:

Ex data1,data2;
Ex *ptu,ex[10],&rex1=data1;

其中,*ptu 是指向 Ex 类对象的指针,ex 是对象数组名,公有10个元素,每个元素都是 Ex 的对象,rex1 是 Ex 类对象的引用,通过初始化使 rex1 指向 data1 所在的内存地址。

对象成员的引用

(1)一般格式

对象名.数据成员名    或者    对象名.成员函数名

(2)对象指针

如果定义指向对象指针,则访问(引用)对象成员时,应使用 “->” 操作符,其一般格式为:

对象名->数据成员名    或者    对象名->成员函数名

对象赋值

同类对象之间可以进行赋值,当一个对象赋值给另一个对象时,所有的数据成员将会逐位拷贝。例如,a和b是同类型的两个对象,假设b已经定义,则执行 a=b; 语句后,将把b的数据成员的值逐位拷贝给对象 a 。

由一个对象初始化另一个对象时,系统将自动调用拷贝构造函数或默认拷贝构造函数。

拷贝构造函数的特点:

  • 与类同名,并且不指定返回类型。
  • 只有一个参数,并且该参数是该类对象的引用。
  • 如果一个类中没有定义拷贝构造函数,则系统自动生成一个默认的拷贝构造函数,该默认的拷贝构造函数的功能是将已知对象的所有数据成员拷贝给相应对象的所有数据成员。

拷贝构造函数在一下三种情况下会被调用:

  • 用类的一个对象去初始化该类的另一个对象时。
  • 函数的参数是类的对象,调用函数进行形参和实参的结合时。
  • 函数的返回值是类的对象,函数执行完返回调用函数时。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

肥羊汤

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

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

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

打赏作者

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

抵扣说明:

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

余额充值