039day(类和对象的基本概念的进一步学习)

时间:2023-02-24 23:02:46

172210704111-陈国佳总结《2017年11月18日》【连续018天】

标题:类和对象的基本概念的进一步学习;

内容:A.观看MOOC(三)2.1;

B.

(a).

从客观事物抽象出类:

例:写程序,输入矩形的长和宽,输出面积和周长;

属性:长和宽;(成员变量)

行为:设置长和宽,算面积,算周长;(成员函数)

class CR
{
public:
int w,h;
int Area(){
return w*h;
}
int Perimeter(){
return (w+h)*2;
}
void Init (int w_,int h_){
w=w_; h=h_; 
}
};         //此处有分号 
int main()
{
int w,h;
CR r;         //r是一个对象
cin>>w>>h;
r.Init(w,h);
cout<<r.Area()<<endl<<r.Perimeter(); 
return 0;    

039day(类和对象的基本概念的进一步学习)

类定义的变量即为“对象”。

一般而言,对象的内存空间等于所有成员变量的大小之和。如上文:sizeof(CR)=8;

对象间的运算:对象之间可以用“=”进行赋值,但不能用“==”,“!=”,“>”,“>=”,“<=”进行比较,除非这些运算符经过了“重载”。

使用类的成员变量和成员函数

用法1: 对象名.成员名

CR r1,r2;   r1.w =5;   r2.Init(5,4);

用法2:指针->成员名

CR r1,r2;

CR *p1=& r1;      CR*p2=& r2;

p1 ->w=5;   p2->Init(5,4);

用法3:引用名.成员名

CR r2;

CR & rr =r2;   rr.w =5;   rr.Init(5,4);

(b).

类成员的可访问范围:

-private:  私有成员,只能在成员函数内访问

-public: 公有成员,可以在任何地方访问

-protected: 保护成员

class className{

private: 私有属性和函数

public: 公有属性和函数

protected:  保护属性和函数

};

如果某成员前我成员关键字,则缺省地认为是私有成员;

class Man{ int n;  //私有

在类的成员函数内部,可访问,当前对象及同类其它对象的全部属性,函数;

类的成员函数以外的地方,只能够访问该类对象的公有成员;

设置私有成员的机制叫“隐藏

 其目的是强制对成员变量的访问必须通过成员函数进行;


明日计划:学习枚举的例题;