320374616 发表于 2020-4-4 18:51:25

关于构造函数默认参数的问题

#include<iostream>
using namespace std;
#include<string>

typedef int a;
class student
{
        public:
                char a;
                student(char b):a(b){}//这里我想用数组的话,怎么样修改才可以呢,这样子会报错
};
int main()
{

        return 0;
}
//我知道可以用string来,但是我就要用数组来的话,应该怎么改才可以通过编译并正常使用

BngThea 发表于 2020-4-4 19:22:14

依次赋值,并且数组长度不能这样传递

BFSDT 发表于 2020-4-5 00:25:57

使用std::array

howzyao 发表于 2020-4-6 16:38:01

本帖最后由 howzyao 于 2020-4-6 16:49 编辑

class student
{
      public:
                char a;
                student(char b):a(b){}//这里我想用数组的话,怎么样修改才可以呢,这样子会报错
};
改正如下:
struct student
{
      char a[];
      int   a_len;
student():a_len(0){ *a=NULL; };
~student(){ delete [] a; };
    student(int);            
};

student:: student(int l):a_len(l)
{
    int i=0;
    char t='a';   
    for(;i<l;i++)
    {
      a=t;
      cout<<a<<endl;
      t++;
    }
    a='\0';
    cout<< a;
}

howzyao 发表于 2020-4-6 16:51:13

想想不定,回头测试了一下,这下改好了,可以跑了.
使用student XiaoMing( 5);//时
就是打印
a
b
c
d
e
abcde

howzyao 发表于 2020-4-6 16:51:58

怎么发图?我想发截图....{:10_266:}

320374616 发表于 2020-4-13 21:25:26

howzyao 发表于 2020-4-6 16:51
怎么发图?我想发截图....

了解了,谢谢啦
页: [1]
查看完整版本: 关于构造函数默认参数的问题