对象和类的知识点总结

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

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{}中创建临时对象,再赋值给数组中的元素。所有创建对象数组的时候必须要有默认构造函数。


类作用域:

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


目录
相关文章
|
2月前
|
存储 Java
Java编程中的对象和类
【8月更文挑战第55天】在Java的世界中,“对象”与“类”是构建一切的基础。就像乐高积木一样,类定义了形状和结构,而对象则是根据这些设计拼装出来的具体作品。本篇文章将通过一个简单的例子,展示如何从零开始创建一个类,并利用它来制作我们的第一个Java对象。准备好让你的编程之旅起飞了吗?让我们一起来探索这个神奇的过程!
30 10
|
5月前
|
存储 Java 程序员
JavaSE——面向对象基础(1/4)-面向对象编程、程序中的对象、对象的产生、对象的执行原理、类和对象的一些注意事项
JavaSE——面向对象基础(1/4)-面向对象编程、程序中的对象、对象的产生、对象的执行原理、类和对象的一些注意事项
48 7
|
6月前
|
设计模式 算法 编译器
【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]
【C++入门到精通】特殊类的设计 |只能在堆 ( 栈 ) 上创建对象的类 |禁止拷贝和继承的类 [ C++入门 ]
57 0
|
6月前
|
设计模式 算法 中间件
【C++ 可调用对象的应用】C++设计模式与现代编程技巧:深入可调用对象的世界
【C++ 可调用对象的应用】C++设计模式与现代编程技巧:深入可调用对象的世界
202 1
|
6月前
|
Java
Java面向对象编程,构造函数和方法的区别是什么?
Java面向对象编程,构造函数和方法的区别是什么?
110 2
|
6月前
|
存储 Java
Java 类与对象(对象的分配机制、对象的创建过程、匿名对象)
Java 类与对象(对象的分配机制、对象的创建过程、匿名对象)
50 0
|
C++
【C++知识点】继承
【C++知识点】继承
66 0
|
安全 Java
创建对象的相关知识补充
创建对象的相关知识补充
62 0
|
前端开发
前端学习案例5-构造函数继承1
前端学习案例5-构造函数继承1
67 0
前端学习案例5-构造函数继承1
|
编译器 C++
使用类知识点总结
使用类知识点总结
65 0