当前位置:   article > 正文

C++中的结构体和类简介_c++中类结构体函数

c++中类结构体函数

简介:
在C++中,结构体和类是用于组织相关数据和函数的用户自定义数据类型。本文将对结构体和类的定义、区别以及使用进行简介。

一、结构体和类的定义:


1. 结构体(struct):
   结构体是C语言中的概念,在C++中也得到了保留和扩展。结构体用于组织多个不同类型的数据成员,可以包含成员变量和成员函数。结构体中的成员变量和成员函数默认为公有(public)属性。

  1. struct student//结构
  2. {
  3. public://结构成员缺省都有public的属性,所以可以不加public。
  4. private://结构外的东西不能被访问,只能在结构中调用
  5. char name[100];
  6. int numbers;
  7. public://可以在一个结构中定义 多个 公有私有的public和private
  8. void a()//成员函数(方法)
  9. {
  10. numbers++;
  11. return;
  12. }
  13. };
  1. 一、结构回顾:
  2. 结构:自定义的类型数据
  3. student student1;//定义结构变量,这里可以省略struct,之间用结构名student。
  4. student1.numbers = 1001;
  5. strcpy_s(student1.name, sizeof(student1.name), "zhangsan");
  6. cout << student1.numbers << endl;
  7. cout << student1.name << endl;
  8. func(& student1);//效率低,因为实参传递给形参值要拷贝。在形参加上引用&可以解决改变值的问题。
  9. cout << student1.name << endl;//这个值没有被函数改变
  10. cout << student1.numbers << endl;//值没有被函数改变、

2.  C++中的结构和C语言的区别:
    C++中具备C语言的所有功能外,还增加了了很多功能,其中最突出的扩展功能之一就是:
    c++中的结构不仅仅有成员变量,还可以在其中定义成员函数(方法) 
    调用方法:student1.a();调用成员函数(方法) 

3. 类(class):
   类是C++中引入的概念,用于组织多个数据成员和成员函数。类中的成员变量和成员函数默认为私有(private)属性。类提供了更多的面向对象特性,如封装、继承和多态。

public和private权限修饰符:public(公有),private(私有)

 (1)public:公有的意思,用这个修饰符修饰    结构/类中的成员变量/成员函数,就可以被外界访问。
          一般来讲能被外界访问的函数,就定义为public,就好像是该类的外部接口一样
  (2)private:私有的意思,用这个修饰符修饰 结构/类中的成员变量/成员函数,只有被内部定义的成员函数才能被使用
 

二、结构体和类的区别:


1. 默认访问级别:
   结构体中的成员变量和成员函数默认为公有属性,而类中的成员变量和成员函数默认为私有属性。在定义时,建议明确指定访问级别,统一加上public和private修饰符。

2. 继承默认访问级别:
   在C++中,结构体的继承默认为public,而类的继承默认为private。这意味着通过结构体继承的成员在子类中仍然是公有的,而通过类继承的成员在子类中则变为私有的。

3。总结:

(1)类这个东西,只有在C++中才有这个概念,C语言中没有这个概念
(2)结构用struct定义,类用class定义
    在C语言中,我们定义一个属于结构的变量,我们叫结构变量。
    在C++中,我们定义了一个属于该类的变量,我们叫对象。
       说白了  结构变量 也好  对象 也好,他们都是一块能够储存数据并且具有某种类型的内存空间。

(3)C++中结构和类极其相似,区别有两点
           1、C+++  结构   内部的成员变量以及成员函数,默认具有public的属性。
                C++    类    内部的成员变量以及成员函数,默认访问级别是private。
                无论是 结构变量 和 类的定义 建议在定义的时候统一加上public和private
           2、C++结构体继承默认的是public,而C++类的继承默认为private。

 额外说明:
    (1)标准C++库里包含大量丰富的类和函数。string;

三、结构体和类的使用示例:
下面是一个简单的示例代码,演示了如何使用结构体和类:

  1. #include <iostream>
  2. using namespace std;
  3. struct Student {
  4. int numbers;
  5. string name;
  6. };
  7. class Teacher {
  8. private:
  9. int id;
  10. string name;
  11. public:
  12. Teacher(int i, string n) {
  13. id = i;
  14. name = n;
  15. }
  16. void printInfo() {
  17. cout << "Teacher ID: " << id << endl;
  18. cout << "Teacher Name: " << name << endl;
  19. }
  20. };
  21. int main() {
  22. // 使用结构体
  23. Student student1;
  24. student1.numbers = 123;
  25. student1.name = "John Doe";
  26. cout << "Student Numbers: " << student1.numbers << endl;
  27. cout << "Student Name: " << student1.name << endl;
  28. // 使用类
  29. Teacher teacher1(1, "Jane Smith");
  30. teacher1.printInfo();
  31. return 0;
  32. }

四、类的组织,书写规范
    类的定义代码会放在一个.h头文件中,头文件名可以和类名相同,student.h
    类的具体实现代码,放在一个.cpp文件中,student.cpp 

结论:
本文介绍了C++中的结构体和类的定义、区别以及使用。结构体和类都是用于组织相关数据和函数的自定义数据类型,但在默认访问级别和继承默认访问级别上存在区别。在实际使用中,可以根据需要选择结构体或类,并根据需求定义不同的访问级别,以实现更好的封装和代码组织。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/714884
推荐阅读
相关标签
  

闽ICP备14008679号