C++的class的不同点_它就像是一个引用_结构体可以包含函数默认是public
一、C++的class与struct的不同点
1、类型不同
class:它就像是一个引用,指向某个具体的对象。
struct:它更像是一个实实在在的东西,就像是一个盒子,里面装着各种东西。
2、存储不同
class:通常存储在电脑的“仓库”里,也就是堆内存。
struct:通常存储在电脑的“抽屉”里,也就是栈内存。
3、成员属性不同
class:默认情况下,类里的东西都是私人的,别人看不到。
struct:默认情况下,结构体里的东西都是公开的,别人都能看到。
4、继承不同
class:继承的时候,默认是私有的,就像是在一个盒子里再套了一个盒子。
struct:继承的时候,默认是公开的,就像是在一个盒子里放了一个盒子。
5、能否使用模板
class:可以使用模板,就像是一个可以变大的盒子。
struct:不能使用模板,就像是一个固定大小的盒子。
二、C++的class
class,就是类,就像是面向对象编程中的“房子”,可以用来建造各种“房子”(对象)。
类定义了“房子”的结构和功能,比如窗户、门、房间等。
下面是一个简单的类定义示例:
class Student { int age; string name; public: void study(); };
这里的`Student`就是一个类,它有两个成员变量`age`和`name`,还有一个成员函数`study`。
三、C++的struct
struct,就是结构体,就像是C++中的“盒子”,可以用来装各种东西。
结构体可以包含不同类型的数据,就像是盒子里可以放书、笔、文具等。
下面是一个简单的结构体定义示例:
struct Person { string name; int age; };
这里的`Person`就是一个结构体,它有两个成员变量`name`和`age`。
四、C和C++中的结构体的不同之处
C语言 | C++ |
---|---|
结构体不能包含函数。 | 结构体可以包含函数,默认是public。 |
结构体只能描述对象的状态。 | 结构体可以描述对象的状态和行为。 |