C++学习 之 类的声明及成员的访问(笔记)
1.类的声明
简单来说,属性以及对属性的操作的整合叫做类。要声明类可使用关键字class,并在它的后面定义类名,然后紧接着是属于该类的代码块{}。类的声明类似于函数声明,类的声明本身并不改变程序 的行为而必须使用它,就好像函数需要调用一样。
模拟人的类的声明类似于下面代码:
class Human { string Name; string DateOfBirth; int Age; void Talk(string TextToTalk); void IntrouduceSelf(); };
类相当于是理论,理论用于实践才能产生实际的效果。我们要想使用类通常要根据类实例化一个对象,通过使用对象的属性和方法来访问类。
实例化对象类似于下面代码:
Human Tom;//实例化一个Human,命名为Tom Human *pToMan=new Human();//使用new为new分配内存并把地址返回给Human类的指针
2.访问类的成员
对于类来说有两种对象,一种是实例即是现实世界的抽象模型,另一种是指向对象的指针。当我们要访问实例的属性和方法的话就用句点运算符".",当我们要访问类指针所指向的实例的属性和方法 的话就用"->"也可使用解除引用运算符"*"来获取实例再用句点符号访问该实例的属性和方法。
示例如下:
Human Tom; Tom.Age=20; Human *pToMan=new Human(); pToMan->Age=21;//pToMan的属性Age为21 (*pToMan).Age=22;//修改pToMan的属性Age为22
3.关键字private和public
在定义类的属性和方法时可以使用private和public来声明访问权限。private声明的属性和方法只能被内部或友元访问,public声明的属性和方法可以被内部和外部访问。
class Human { private: string Name; int Age; public: int SetAge(int InputAge) { Age=InputAge; } }
在上面的类的定义中Age被声明为私有的,所以它只能被内部所访问。例如我们实例化一个对象Tom,我们不能通过类似"Tom.Age=20"的语句直接从外部访问其属性Age;而要通过类内的公有方法 SetAge()来改变Age的值。私有成员和公有成员的声明让程序设计者能够控制类的属性和方法的访问。