+ -
当前位置:首页 → 问答吧 → 如何在类中指定数组的常量表达式的值?

如何在类中指定数组的常量表达式的值?

时间:2011-12-02

来源:互联网

#include <iostream>
#include <string>
using std::endl;
using std::cin;
using std::cout;
using std::string;
using namespace std;
class churu
{
public:
string shuru();
string shuchu();
private:
int ke,i;
string name;
string ming;
string kemu[ke];
};
string churu::shuru()
{
cout<<"请输入学生的名字:";
cin>>name;
cout<<"请输入科目的数量:";
cin>>ke;
for(i=0;i<ke;i++)
{
cout<<"请输入第"<<i+1<<"个科目的名称:";
cin>>ming;
kemu[i]=ming;
}
}
string churu::shuchu()
{
cout<<name<<" ";
for(i=0;i<ke;i++)
{
cout<<kemu[i]<<" ";
}
}
void main()
{
churu d;
d.shuru();
d.shuchu();
}
我就是想能指定ke的值,该怎么做啊?这样子的ke它不认啊

作者: QIYWTC   发布时间: 2011-12-02

你何必呢,你用VECTOR不就行了

作者: qscool1987   发布时间: 2011-12-02

可使用new动态分配
但是既然用C++,为什么不用vector

作者: yulinlang   发布时间: 2011-12-02

想用也可以啊!
#define MAXSIZE 1024
在类中
string kemu[MAXSIZE];

但还是不建议你这样用了。
楼上两位的方法比我好多了。。。。。

作者: l460602540   发布时间: 2011-12-02

引用 2 楼 yulinlang 的回复:

可使用new动态分配
但是既然用C++,为什么不用vector


怎么用的啊?能说说吗?

作者: QIYWTC   发布时间: 2011-12-03

C/C++ code
#include <iostream>
#include <string>
#include <vector>
using std::endl;
using std::cin;
using std::cout;
using std::string;
using std::vector;

class churu
{
public:
    void shuru();
    void shuchu();
private:
    int ke,i;
    string name;
    string ming;
    vector<string> kemu;
};
void churu::shuru()
{
    cout<<"请输入学生的名字:";
    cin>>name;
    cout<<"请输入科目的数量:";
    cin>>ke;
    for(i=0; i<ke; i++) {
        cout<<"请输入第"<<i+1<<"个科目的名称:";
        cin>>ming;
        kemu.push_back(ming);
    }
}
void churu::shuchu()
{
    cout<<name<<" ";
    for(i=0; i<ke; i++) {
        cout<<kemu[i]<<" ";
    }
}
int main()
{
    churu d;
    d.shuru();
    d.shuchu();
    retrun 0;
}

作者: yulinlang   发布时间: 2011-12-03

引用 5 楼 yulinlang 的回复:

C/C++ code
#include <iostream>
#include <string>
#include <vector>
using std::endl;
using std::cin;
using std::cout;
using std::string;
using std::vector;

class churu
{
public:
void shuru();
……
就这样 很简单的

作者: qwer_boo   发布时间: 2011-12-03