关于c++编程问题,大家帮帮忙啊谢谢了O(∩_∩)O

分别给出如下的3个文件:
(1)、含类定义的头文件student.h,
class Student //类声明
{ public:
void display( ); //公用成员函数原型声明
private:
int num;
char name[20];
char sex;
};
(2)、包含成员函数定义的源文件student.cpp,
#include <iostream>
using namespace std;
#include "student.h" //不要漏写此行,否则编译通不过
void Student::display( ) //在类外定义display类函数
{cout<<"num:"<<num<<endl;
cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}
(3)、包含主函数的源文件main.cpp,
为了组成一个完整的源程序,应当有包含主函数的源文件:
#include "student.h" //将类声明头文件包含进来
int main( )
{Student stud; //定义对象
stud.display( ); //执行stud对象的display函数
return 0;
} 请完善该程序,在类中增加一个对数据成员赋予初值的成员函数void input_data()

void input_data()在类中进行声明。在主函数中用stud.input_data()进行调用。
在成员函数定义的源文件student.cpp中进行定义。
void Student::input_data()
{
cout<<"Input num: ";
cin >> num;

cout<<"Input name: ";
cin >> name;

cout<<"Input sex: ";
cin >> sex;
}
不过个人觉得,对于人员来说的话,还是用结构体来定义比较合理。
typedef struct
{
int num;
char name[20];
char sex;
}student;
类中,声明一个私有的结构体对象,再用构造函数进行初始化。比较有结构化,便于维护。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-15
同上,直接在构造函数赋值就可以了!
student.h增加构造函数public student(int num,char[] name,char sex) {
this.num = num; this.name = name; this.sex = sex; }
主函数Student stud = new Student(a,b,c);//abc就是你初始化的三个数据
如果你实在要用void input_data(),方法跟上面差不多。。
第2个回答  2013-04-14
要赋值的话直接在构造函数里面赋值不是更好吗?干嘛还要input_data()这函数,而且还简单直接呢...这基本的面向对象编程知识....要加的话也差不多,和构造函数差不多
相似回答