对象的声明与访问
#include<iostream>
using namespace std;
//定义点类Point
//class Point叫做类的界面 ,放在Point.h文件内
//Point.h + Point.cpp = 完整的类
class Point {
//访问范围说明符(默认为private)
private :
// x,y两个属性
//成员变量下x, y
int x, y;
//访问范围说明符
public :
//成员函数set1
void set1 (int a, int b);
//成员函数show
void show ();
};
//类的实现,放在Point.cpp文件内
void Point::set1 (int a, int b) {
x = a;
y = b;
}
/*
当函数体很长时,将其放在类的外边
需要在类内部先声明
<返回类型><类名>::<成员函数>(<参数说明>)
类体内定义的函数称为内联函数
类体外定义的函数称为一般函数
内联函数这样写:
inline void Point::show() {}
*/
//类的实现,放在Point.cpp文件内
void Point::show() {
cout<<"("<<x<<","<<y<<")"<<endl;
}
int main () {
//由类创建对象
Point p1;
//调用公有的成员函数
p1.set1(1, 1);
p1.show();
//访问成员函数的方式1--指针1
//定义point_p1指针
Point *point_p1;
//指针指向对p1
point_p1 = &p1;
//指针指向成员函数set1,设置新的坐标值为(2,2)
point_p1->set1(2, 2);
//显示新的坐标值
p1.show();
//访问成员函数的方式2--指针2
(*point_p1).set1(3, 3);
(&p1)->show();
//访问成员函数方式3--数组
//一次性定义3个point对象 p[0],p[1],p[2]
cout<<"------------------"<<endl;
Point p[3];
for (int i = 0; i<= 2; i++) {
p[i].set1(i, i);
p[i].show();
}
return 0;
}
执行结果: