zoukankan      html  css  js  c++  java
  • 学习第39天

    1. 结构、

      1. 自定义的数据类型、

      2. C++的结构有成员变量、还可以定义其中成员函数(方法)、

        1. struct  a
          {
          	    int a1;
          		char a2[50];
          		void e()//成员函数、也叫方法、
          		{
          			a1++;
          			return;
          		}
          };
          
          int main()
          {
          	a b;//可以省略struct而直接使用该结构名、
          	b.a1 = 10;
          	strcpy_s(b.a2, sizeof(b.a2), "字符串");//给成员
          	cout << b.a1 << endl;
          	cout << b.a2 << endl;
          	b.e();//调用成员函数、
          	cout << b.a1 << endl;//内容改变
          	cout << b.a2 << endl;
          }
          
      3. 结构体、

        1. struct  a
          {
          	    int a1;
          		char a2[50];
          
          };
          int main()
          {
          	a b;//可以省略struct而直接使用该结构名、
          	b.a1 = 10;
          	strcpy_s(b.a2, sizeof(b.a2), "字符串");//给成员
          	cout << b.a1 << endl;
          	cout << b.a2 << endl;
          
          
      4. 形参结构变量传递、

        1. struct  a
          {
          	    int a1;
          		char a2[50];
          
          };
          void c(a c1)//形参使用结构变量、
          {
          	c1.a1 = 20;
          	strcpy_s(c1.a2, sizeof(c1.a2), "字符串1");
          	return;
          }
          int main()
          {
          	a b;//可以省略struct而直接使用该结构名、
          	b.a1 = 10;
          	strcpy_s(b.a2, sizeof(b.a2), "字符串");//给成员
          	cout << b.a1 << endl;
          	cout << b.a2 << endl;
          	c(b);
          	cout << b.a1 << endl;//内容没有被函数所改变
          	cout << b.a2 << endl;//内容没有被函数所改变
          
        2. 值传递的、结构体内的数据拷贝、实参将数据拷贝到形参中、

        3. 实参和形参是两段不同的地址、

        4. 不推荐、

      5. 形参引用、

        1. struct  a
          {
          	    int a1;
          		char a2[50];
          
          };
          void c(a &c1)//形参变成引用、没有内存拷贝
          {
          	c1.a1 = 20;
          	strcpy_s(c1.a2, sizeof(c1.a2), "字符串1");
          	return;
          }
          int main()
          {
          	a b;//可以省略struct而直接使用该结构名、
          	b.a1 = 10;
          	strcpy_s(b.a2, sizeof(b.a2), "字符串");//给成员
          	cout << b.a1 << endl;
          	cout << b.a2 << endl;
          	c(b);
          	cout << b.a1 << endl;//内容改变
          	cout << b.a2 << endl;//内容改变
          }
          
      6. 指向结构体的指针做函数参数、

        1. struct  a
          {
          	    int a1;
          		char a2[50];
          
          };
          void c(a *dc1)//用指向结构体的指针做函数的参数、
          {
          	dc1->a1 = 30;//指向运算符  ->  
          	strcpy_s(dc1->a2, sizeof(dc1->a2), "字符串2");
          	return;
          }
          int main()
          {
          	a b;//可以省略struct而直接使用该结构名、
          	b.a1 = 10;
          	strcpy_s(b.a2, sizeof(b.a2), "字符串");//给成员
          	cout << b.a1 << endl;
          	cout << b.a2 << endl;
          	c(&b);//将地址传递、
          	cout << b.a1 << endl;//内容改变
          	cout << b.a2 << endl;//内容改变
          
    2. 权限修饰符、共三个

      1. public、共有

        1. 用修饰符 结构类中的成员变量成员函数、就可以被外界访问、需要被外界访问的就定义为public
          2. 类似于外部接口可以不添加public属性、没有权限修饰符的话默认为public、
          3. 格式public:
      2. pribate、私有

        1. 只能让内部定义的成员函数使用、

        2. 格式 pribate:

        3. struct  a
          {
          private://私有
          	    int a1;
          		char a2[50];
          		void e()//成员函数可以直接访问
          		{
          			a1++;
          			return;
          		}
          };
          
      3. protected、保护、

    3. 类简介、

         1. 不管C还是C++均可以用struct来定义、
         2. 类与结构体的区别、
              	1. 类是C++中才有的结构、在C语言中没有这个概念、
              	2. 结构使用struct定义、而类则使用class定义、
              	3. C++结构内部成员变量以及成员函数默认的访问级别或者访问权限均是public、
              	4. C++结构内部成员变量以及成员函数默认的访问级别或者访问权限均是pribate、
              	5. C++结构体继承默认为public、
              	6. C++类继承默认为private、
              	7. 3. 在C++中定义一个属于给类的变量叫做变量、
                  4. 类和变量均是一块能够存储数据且具有某种类型的空间、
      
    4. 类的组织、

         1. 类的定义代码尽量放到.h的头文件中、头文件名可以和类同名、
         2. 类的具体代码放到。cpp文件中、文件名可以和类同名、
         3. 
      

  • 相关阅读:
    java unicode转中文
    java常用
    Intellij IDEA常用快捷键——Mac版
    mac 快捷键
    thrift 学习
    ubuntu上的翻译软件,看论文神器
    linux中jupyter notebook中切换虚拟环境
    02_opencv_python_图像处理进阶
    01_opencv_python_基本图像处理
    python刷剑指offer(21-40)(一刷)
  • 原文地址:https://www.cnblogs.com/chengyaohui/p/13745467.html
Copyright © 2011-2022 走看看