纯语法练习,你不一定会噢! ( 积分: 100 )

  • 主题发起人 主题发起人 tw_jw
  • 开始时间 开始时间
T

tw_jw

Unregistered / Unconfirmed
GUEST, unregistred user!
question1:

先定义一个结构:
struct student
{int num;
char addr[20];
int age;}

都知道定义一个结构的时候,就象建立一个模板,是不能

struct student
{int num=10;
char addr[20];
int age;}

在定义时候直接赋值是不正确的。那我想要用这个结构定义的变量都默认一个值该怎么做。
比如要让age默认是20岁。不然,这样


struct student
{int num;
char addr[20];
int age;}

student stud[10];
stud[0]={1,'aaa',20};stud[1]={2,'bbbb',20};stud[2]={3.'cccc','20)

会很麻烦;


question2:

先定义一个类:
class stud
{private:
int num;
char name[10];
char sex;
public:
void display();
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}

};

都知道这样:

class stud
{private:
int num=10;
char name[10];
char sex;
public:
void display();
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}

};

在定义的时候是不能的。
为什么这样

class stud
{private:
int num;
char name[10];
char sex;
public:
void display();
{num=10;
cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}

};

是对的。都是往同一块内存写数据.


question3:

为什么这样
class stud
{private:
int num;
char name[10];
char sex;
public:
void display();
};
void stud:: display()
{ cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
};
void main()
{

}
是对的。


void main()
{

class stud
{private:
int num;
char name[10];
char sex;
public:
void display();
};
void stud:: display()
{ cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
};
}
这样是错的。
 
struct student
{int num;
char addr[20];
int age;
//此处增加一个构造函数就行了,这样num的默认值就是 10 了
student() : num(10) {};
}

C 的函数内不能嵌套定义函数,所以最后一个是错的。
 
接受答案了.
 

Similar threads

I
回复
0
查看
800
import
I
I
回复
0
查看
658
import
I
I
回复
0
查看
843
import
I
I
回复
0
查看
551
import
I
I
回复
0
查看
747
import
I
后退
顶部