[英]How to have multiple int values in every element in a one dimensional array?
我想用兩個 int 值填充一個一維數組。
當我在值周圍不帶括號運行代碼時,我只得到第一個 int,當我在值周圍用括號運行它時,我只得到第二個 int。
Output 應該像 x/y
感謝您的時間。
int main()
{
cBruch cBruch[7];
cBruch[0] = (3, 4);
cBruch[1] = (24, -6);
cBruch[2] = -5, -3;
cBruch[3] = -14, 22;
cBruch[4] = 21, 45;
cBruch[5] = 7, -9;
cBruch[6] = 2, 3;
for (int i = 0; i < 7; i++)
{
cBruch[i].ausgabe();
}
return 0;
}
。H
class cBruch
{
private:
int zaehler;
int nenner;
int ggt(int a, int b);
void kuerzen();
public:
cBruch(int zaehler_in = 0, int nenner_in = 1);
~cBruch();
void ausgabe(); //output
};
.cpp
cBruch::cBruch(int zaehler_in, int nenner_in)
{
zaehler = zaehler_in;
nenner = nenner_in;
cout << "Konstruktor Zaehler = " << zaehler << " Nenner = " << nenner << endl;
}
cBruch::~cBruch()
{
cout << "Destruktor Zaehler = " << zaehler << " Nenner = " << nenner << endl;
}
void cBruch::ausgabe()
{
cout << "Bruch: " << zaehler << "/" << nenner << "\tGleitkommazahl: "<< double(zaehler) / nenner << endl;
}
你應該像下面這樣初始化你的數組:
cBruch cBruch[] = {{3, 4},{24, -6},{-5, -3},{-14, 22},{21, 45},{7, -9},{2, 3}};
逗號運算符將始終評估雙方並返回右側。 它的 優先級也是所有運算符中最低的。
所以這:
cBruch[2] = -5, -3;
評估為:
(cBruch[2] = -5), -3;
和這個:
cBruch[0] = (3, 4);
將評估為:
cBruch[0] = 4;
您可能應該使用例如std::pair<int, int>
的數組(或者更好的是std::array
)。
顯然我看不懂...您需要 {} 而不是 ()。 – 聖黑貓
謝謝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.