实例
封装一个“Point类”来实现平面上的点的操作。
1、声明
class class_name{ [private:] 成员; public: 成员; protected: 成员; };
<1>class_name : 类名,一般首字母大写
<2>private,public,protected:访问权限
<3>成员:数据,函数
<4>声明时不会为类分配内存,因此c++11前类内数据成员不可以进初始化,现在static修饰的成员依然不可以再类内初始化
实例:
class Point{ private: double x_,y_; public: double x(){return x_;} double y(){return y_;} double x(double a){x_ = a; return x_;} double y(double b){y_ = b; return y_;} void show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;} };
2、对象的定义和成员的调用
定义:class_name 对象名; 调用 :对象名.成员; 指针->成员;
Point p1,*p; p1.x(1); p->x(1);
3、成员函数
3.1、定义方式
类内:略
类外:类内声明原型,类外定义
r_type class_name::f_name(T1p1,……){……}
例:
class Point{ private: double x_,y_; public: //类内 double x(){return x_;} double y(){return y_;} double x(double a){x_ = a; return x_;} double y(double b){y_ = b; return y_;} //类外 void show(); }; void Point::show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;}
3.2、常量成员函数
在c++中,为了放止成员函数修改数据成员的值,可以把它设置为常量成员函数:
T f(T1, ……) const;
例:
class Point{ private: double x_,y_; public: double x() const {return x_;} double y() const {return y_;} // 常量成员函数 double x(double a){x_ = a; return x_;} double y(double b){y_ = b; return y_;} void show(); }; void Point::show(){cout<<"("<<x_<<", "<<y_<<")"<<endl;}
3.3、重载和默认参数值
适用
标签:return,Point,double,成员,show,初识,class From: https://www.cnblogs.com/qlc23333/p/17364929.html