类中对象的定义及访问

类中对象的定义及访问

1.在声明类的同时,直接定义对象,访问一般使用对象名.数据成员名:

#include <iostream>
using namespace std;
class Point {
public:
	void setpoint(int a, int b);
	int getx();
	int gety();
private:
	int x, y;
}op1,op2;    //在此处直接定义对象
void Point::setpoint(int a,int b)
{
	x = a;
	y = b;
}
int Point::getx()
{
	return x;
}
int Point::gety()
{
	return y;
}
int main()
{
	op1.setpoint(1, 2);    //进行访问
	op2.setpoint(3, 4);
	cout << op1.getx()<<endl;
	cout << op2.gety()<<endl;
	return 0;
}

2.在使用时才定义对象:

#include <iostream>
using namespace std;
class Point {
public:
	void setpoint(int a, int b);
	int getx();
	int gety();
private:
	int x, y;
};
void Point::setpoint(int a,int b)
{
	x = a;
	y = b;
}
int Point::getx()
{
	return x;
}
int Point::gety()
{
	return y;
}
int main()
{
	Point op1, op2;    //在使用时才定义对象
	op1.setpoint(1, 2);
	op2.setpoint(3, 4);
	cout << op1.getx()<<endl;
	cout << op2.gety()<<endl;
	return 0;
}

3.访问对象中的成员也可以通过指向对象的指针,此时不使用“.”而使用“->”:

int main()
{
	Point *op,d;
	op = &d;
	op->setpoint(1, 2);
	cout << op->getx();
	return 0;
}
int main()
{
	Point *op,d;
	op = &d;
	(*op).setpoint(1, 2);
	cout << (*op).getx();
	return 0;
}

4.访问对象中的成员也可以通过引用的方式:

int main()
{
	Point d1;
	Point &d2 = d1;
	d1.setpoint(1, 2);
	cout << d1.getx() << endl;
	cout << d2.gety() << endl;
	return 0;
}

d2时d1的引用,此时d2与d1占有相同的储存单元。

公有成员可以被类中成员函数访问,也可以在类的外部通过类的对象访问;而私有成员只能被类中成员函数访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值