C++类和对象
1.c++类型的设计
class CGoods{
public:
char Name[21];
int Amount;
};
int main()
{
CGoods c1;
c1.Amount =10;//可访问公有属性
}
2.访问限定符有四种:(1)默认的private (2)直接给出的private (3)public (4) protected
封装性:访问是对实体对象进行访问,可访问公有不可访问private,protected.作用于对象
3.类只是一种数据类型,定义时系统不为类分配储存空间,所以不能对类的数据成员初始化,类中任何数据成员也不能用关键字extern,auto或register限定其存储类型.
公有函数集定义了类的接口。
4.作用域解析符::
5.成员函数的定义
返回类型 类名::函数名(参数列表)
{
}
生存期:运行过程中某个变量或对象,程序的执行过程。
可见性:编译和链接过程,函数中定义的标识符,局部变量。
this指针 类的成员函数加this指针
编译器对类型的编译:(三次扫描)
1.扫描属性(定义的变量的类型)【数据成员】
2.扫描函数的声明和访问属性和声明里的变量(只扫描声明,不扫描函数体)
3.改写(与声明的函数对比)
void CGoods::CountTotal(CGoods *const this)
//例如
float GetTotal_value(CGoods * const this);
float GetTotal_value()
{
return this->Total_value;
}
this指针只出现在当函数为调动函数 在类的属性公有的加this
对于c1,c2访问同一个成员函数时确定访问的到底是c1的值还是c2的值用this指针
例如
void CGoods::RegisterGoods(CGoods *const this,char name[],int account,float price)
int main()
{
c1.RegisterGoods(&c1,"c++",10,20);
c2.RegisterGoods(&c2,"java",20,12);
}
成员函数调动完后this指针也结束