对象和类的知识点总结

简介: 对象和类的知识点总结

1.OOP特性:抽象,封装和数据隐藏,多态,继承,代码的可重用性

2.类声明和类方法定义 类声明以数据成员的方式描述数据部分,以成员函数的方法描述共有接口。类方法定义:描述如何实现类成员函数。

3.C++常常将接口(类定义)放在头文件中,接口实现放在源代码里。一般类名首字母大写。

4.注意,class 声明一个类,注意和模板区分,模板可以用class typename声明,但是类不能用typename。

5.类中有三种权限:private public protected 其中protected跟继承相关。而private常常是数据成员。public常常是成员函数。而成员函数就是数据成员与外界的接口,桥梁。

6.结构和类唯一的区别就是,结构中默认为public,而类中默认为private。

7.内联函数:其函数定义位于类声明中的函数都将成为内联函数。也可以在类声明之外定义内联函数,但是前面必须加inline关键字。

class Stock
{
private:
       void set_tot();
};
inline void Stock::set_tot()
{
total_val = shares * share_val;
}

8.同一类的不同对象有自己的存储空间->内部有自己的成员变量,但是成员函数是被这个类的所有对象共有的。


类的构造函数和析构函数


1.因为数据变量是private,不能直接访问,所有就不能用结构体初始化的方法来初始化类。->也就诞生了类构造函数。

2.使用类构造函数注意以下几点: 构造函数的参数表示的不是类成员,而是赋给类成员的值。 数据成员名一般使用前缀m_。

3.在设计类时,通常应提供对所有类成员做隐式初始化的默认构造函数。

4.析构函数是在类名称前加~。一般new了之后就会用析构函数进行delete删除。

5.

在这里插入代码片
stock1 = Stock(“”,“”,“”)

创建一个临时变量赋值给stack1,但不调用临时变量时自动调用析构函数。

6.先创建的对象后调用析构函数删除。

7.初始化对象比创建临时变量赋值给对象效率更高,因为不需要添加其他的副本。

8.

由于有的函数括号里面没有参数所有,在函数后面加上const
void stock::show()const

注意事项:const成员对象只能调用const成员函数,当类中成员变量+mutable后,可在常对象和常函数中修改它的值。


this指针

当涉及到两个对象的时候,比如对两个对象的某个数据成员进行比较的时候会用到this指针。

this指针指向用来调用成员函数的对象

1.当返回类型为引用意味着返回的是调用对象本身,而不是副本。

2.对象数组创建的过程:先用默认构造函数创建对象保存在数组中,再用stock{}中创建临时对象,再赋值给数组中的元素。所有创建对象数组的时候必须要有默认构造函数。


类作用域:

类作用域意味着不能从外面直接访问成员,必须加类作用域解析运算符::


目录
相关文章
|
23天前
|
存储 Java 程序员
JavaSE——面向对象基础(1/4)-面向对象编程、程序中的对象、对象的产生、对象的执行原理、类和对象的一些注意事项
JavaSE——面向对象基础(1/4)-面向对象编程、程序中的对象、对象的产生、对象的执行原理、类和对象的一些注意事项
25 7
|
23天前
|
Java 编译器
JavaSE——面向对象基础(2/4)-this关键字、构造器(this的执行原理、应用场景,构造器的特点、应用)
JavaSE——面向对象基础(2/4)-this关键字、构造器(this的执行原理、应用场景,构造器的特点、应用)
18 5
|
2月前
|
Java
Java面向对象编程,构造函数和方法的区别是什么?
Java面向对象编程,构造函数和方法的区别是什么?
59 2
C++类的学习1(一)
的定义一般包括两部分,一是类的属性,二是他所拥有的方法。类的实例化是指给类的加载并初始化过程,比如一个people类,我们具体到每一个人就是类的实例化,此外一个类可以在此类上进行扩展。比如people类,我们分为 外国people 和 中国people,那么people叫做基类,外国people叫做派生类或子类
C++类的学习1(二)
的定义一般包括两部分,一是类的属性,二是他所拥有的方法。类的实例化是指给类的加载并初始化过程,比如一个people类,我们具体到每一个人就是类的实例化,此外一个类可以在此类上进行扩展。比如people类,我们分为 外国people 和 中国people,那么people叫做基类,外国people叫做派生类或子类
|
C++
【C++知识点】继承
【C++知识点】继承
56 0
|
安全 Java
创建对象的相关知识补充
创建对象的相关知识补充
50 0
|
编译器 C++
使用类知识点总结
使用类知识点总结
55 0
|
编译器 程序员 C++
【C++】继承知识点总结
一. 继承的概念及定义 比如我们要定义学生类(Student)和老师类(Teacher),作为人这两个类共有的基本属性包括姓名,年龄等。写两个类就要各自都声明姓名和年龄这两个成员变量,能不能单独写一个Person类里面只有姓名和年龄这两个成员变量,让学生类和老师类去继承Person类,这样就不用单独地再去声明姓名和年龄了。
|
前端开发
前端学习案例5-构造函数继承1
前端学习案例5-构造函数继承1
51 0
前端学习案例5-构造函数继承1