zoukankan      html  css  js  c++  java
  • 对象数组初始化 (10 分)

    6-10 对象数组初始化 (10 分)

    根据类定义,进行对象数组的定义,按照输出样例输出相应的数据。

    类定义:

    #include<iostream>
    using namespace std;
    class A{
        int data;
    public:
        A(int k=0){
            data=k;
        }
        void show(){
            cout<<"data="<<data<<endl;
        }
    };
    

    ###编写main函数,定义三个对象数组,完成指定的输出

    /* 请在这里填写答案 */
    

    输入样例:

    输出样例:

    在这里给出相应的输出。例如:

    data=0
    data=0
    data=0
    
    data=1
    data=0
    data=0
    
    data=1
    data=2
    data=3
    

    ac代码

    #include<iostream>
    using namespace std;
    class A{
        int data;
    public:
        A(int k=0){
            data=k;
        }
        void show(){
            cout<<"data="<<data<<endl;
        }
    };
    int main()
    {
    	/***第一次对象数组的构造***/
    	A A_L[3]={0,0,0};
    	/***第一次输出***/
    	for(int i=0;i<3;i++)
    	{
    		A_L[i].show();
    	}
    	/***换行符***/
    	cout<<endl;
    	
    	/***第二次对象数组的构造***/
    	A B_L[3]={1};
    	/***第二次输出***/
    	for(int i=0;i<3;i++)
    	{
    		B_L[i].show();
    	}
    	/***换行符***/
    	cout<<endl; 
    	
    	/***第三次对象数组的构造***/
    	A C_L[3]={1,2,3};
    	/***第二次输出***/
    	for(int i=0;i<3;i++)
    	{
    		C_L[i].show();
    	}
    	return 0;
    }
    

    错误代码

    #include<iostream>
    using namespace std;
    class A{
        int data;
    public:
        A(int k=0){
            data=k;
        }
        void show(){
            cout<<"data="<<data<<endl;
        }
    };
    int main()
    {
    	A A_L[3]={0,0,0};
    	/***第一次输出***/
    	for(int i=0;i<3;i++)
    	{
    		A_L[i].show();
    	}
    	cout<<endl;
    	A_L[0].data=1;
    	
    	/***第二次输出***/
    	for(int i=0;i<3;i++)
    	{
    		A_L[i].show();
    	}
    	
    	/***第三次输出***/
    	for(int i=0;i<3;i++)
    	{
    		A_L[i].A(i+1);
    		A_L[i].show();
    	}
    	return 0;
    }
    

    踩坑日记

    对象数组的初始化

    • 分两种情况
      1. 第一种,只有一个参数,直接简单的声明就行。
      2. 第二种,有多个参数,需要把多个参数包装到一起送给类。
    • 要观察好类是否有初始化(默认值)。

    对象数组:数组中每个元素为一个对象。

    在建立数组时,可以在定义数组时提供实参以实现初始化。

    1、如果构造函数只有一个参数,可以直接在等号后面的花括号内提供实参,如:

          Student stu【3】={10,20,30};
    

    2、如果构造函数有多个参数,在定义时在花括号中分别写出构造函数名并在括号内指定实参。如下:构造函数有3个参数,分别代表学号,年龄,成绩,在定义时可以:

           Student stu【3】={
                                             Student(1001,18,80),
    
                                             Student(1001,18,80),
    
                                             Student(1001,18,80),
    
                                        };
    

    ————————————————
    版权声明:本文为CSDN博主「ukston_C」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/ukston_C/article/details/80202768

    构造函数

    • 构造函数调用一次就行,如果没有更改数据的接口那就重新申请新的对象数组。
  • 相关阅读:
    json for modern c++(nlohmann json)使用小计
    你到底是如何上网的[转载]
    opencv编译
    二维码解析(编译zxing-cpp)
    otl odbc小计
    解决github clone慢的问题
    网络编程小计
    模板小计
    c++开发遇到的错误和引用配置
    IOCP Input/Output Completion Port IO完成端口
  • 原文地址:https://www.cnblogs.com/BeautifulWater/p/14800136.html
Copyright © 2011-2022 走看看