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. 
    

posted on 2020-09-28 16:32  程耀辉  阅读(97)  评论(0编辑  收藏  举报