對象數組初始化 (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

構造函數

  • 構造函數調用一次就行,如果沒有更改數據的接口那就重新申請新的對象數組。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM