对象的定义有两种方式。第一种在声明类的同时,去定义,直接写出类的对象名表:
class Object
{
......
......
}obj1,obj2;
第二种使用的时候进行定义
class Object{
...
...
};
int main()
{
Object obj1,obj2;
...
...
}
对象中成员的访问
1:通过对象名或者通过对象选择符访问,此时要用’.'操作符。
#include<iostream>
using namespace std;
class Object{
private:
int a,b;
public:
void object(int,int);
int geta();
int getb();
};
//在类外定义成员函数:返回值类型 类名::成员函数名(参数表)
//减少类体长度
void Object::object(int m,int n)
{
a=m;
b=n;
}
int Object::geta()
{
return a;
}
int Object::getb()
{
return b;
}
int main()
{
Object obj1;
int x,y;
obj1.object(1,2);//调用成员函数object,给obj1的成员赋值
x=obj1.geta();//调用成员函数geta,取a的值
y=obj2.getb();//调用成员函数getb,取b的值
cout<<"op1 i="<<x<<'\n';
cout<<"op1 j="<<y<<'\n';
return 0;
}
运行结果`
2:通过指向对象的指针访问对象中的成员,此时用’->'操作符
calss Object{
public:
one//定义公有数据成员
...
};
int main()
{
Object d,*ptr;//定义对象d和指向类的指针变量
ptr=&d;//使指针指向对象b
cout<<ptr->one;//输出ptr指向对象的成员one
...
}
*此时需要说明d.one;(ptr).year;ptr->year三者等价
3:通过对象的引用访问对象中的成员
class Object{
public:
int two;
...
...
};
int main()
{
Object x;//定义Object的对象x
Object &a=x;//定义类的引用a,用x对其进行初始化
cout<<x.two;//输出对象x的数据成员year
cout<<a.two;//输出对象a的数据成员year
...
...
}