本文是初学C++的一些理解
(这只是在下的粗浅理解,不足的地方还请谅解,欢迎留言提出,后期理解深入后会加以改进)
面向对象程序设计 :
概念:(Object Oriented Programming,缩写:OOP)是一种程序设计范型,同时也是一种程序开发的方法。
对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性。
C++不是纯面向对象语言,而是基于面向对象的语言 (ps:因为它包含C的部分,C是面向过程)
类
1. public成员可从类外部直接访问,private/protected成员不能从类外部直接访问。
2. 每个限定符在类体中可使用多次,它的作用域是从该限定符出现开始到下一个限定符之前或类体结束前。
3. 类体中如果没有定义限定符,则默认为私有的。
4. 类的访问限定符体现了面向对象的封装性。
类的作用域
1. 每个类都定义了自己的作用域,类的成员(成员函数/成员变量)都在类的这个作用域内,成员函数内可任意访问成员 变量和其它成员 函数。
2. 对象可以通过 . 直接访问公有成员,指向对象的指针通过 -> 也可以直接访问对象的公有成员。
3. 在类体外定义成员,需要使用 :: 作用域解析符指明成员属于哪个类域
定义一个简单的类
成员函数的定义可以分为两种
1、类内定义成员函数,就如上图所示,在类里面定义
2、类外定义成员函数,定义在外面
class Person { public: void Display(); public: char* _name; // 名字 char* _sex; // 性别 int _age; // 年龄 }; void Person::Display() //成员函数,在类的外面定义 { cout << _name << "-" << _sex << "-" << _age << endl; }
类实例化对象
1.类只是一个模型一样的东西,限定了类有哪些成员,定义出一个类并没有分配实际的内存空间来存储它。
2.一个类可以实例化出多个对象,实例化出的对象占用实际的物理空间存储类成员变量。
3.做个比方。类实例化出对象就像现实中使用建筑设计图建造出房子,类就像是设计图,只设计出需要什么东西,但
是并没有实体的建筑 存在,同样的类也只是一个设计,实例化出的对象才能实际存储数据,占用物理空间