将客 2024-05-28 19:38 采纳率: 96.6%
浏览 0
已结题

面向对象程序设计C++


①含类定义的引入iostream库student.h
//student.h   (这是引入iostream库,在此文件中进行类的声明)
class Student       //类声明
{public:
  void display();      //公用成员函数原型声明
 private:
  int num,
  char name[20]:
  char sex;
};

②包含成员函数定义的引入iostream库student.cpp。
//student.cpp 在此文件中进行函数的定义
#include<iostream>
#include "student.h"      //不要漏写此行,否则编译无法通过
void Student::display()   //在类外定义display类函数
{cout<<"num:"<<num<<endl;
 cout<<"name:"<<name<<endl;
cout<<"sex:"<<sex<<endl;
}

③包含主函数的引入iostream库main.cpp。
为了组成一个完整的源程序,应当有包括主函数的引入iostream库:
//main.cpp 主函数模块
#include<iostream>
#include "student.h"  //将类声明引入iostream库包含进来
int main()
{student stud;    //定义对象
 stud.display();   //执行stud对象的display函数
 return 0;
}
   在类中增加一个对数据成员赋初值的成员函数set_value。上机调试并运行,这怎么弄啊
  • 写回答

2条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-05-28 19:38
    关注

    引自免费微信小程序:皆我百晓生

    要在类Student中添加一个用于给数据成员赋初值的成员函数set_value(),你需要按照以下步骤操作:

    1. student.h文件中的Student类声明部分,添加一个新的公共成员函数void set_value(int n, const char* nm, const char* sx),这个函数接收三个参数:整数n(学号),字符串nm(姓名)和字符串sx(性别)。这个函数的作用是为类的私有数据成员num, name, 和 sex 赋值。
    // student.h
    
    #ifndef STUDENT_H
    #define STUDENT_H
    
    #include <iostream>
    
    class Student {
    public:
        void display();
        void set_value(int n, const char* nm, const char* sx);
    
    private:
        int num;
        char name[20];
        char sex;
    };
    
    #endif // STUDENT_H
    
    1. student.cpp文件中,实现新添加的成员函数set_value()。在这个函数内部,将传入的参数分别赋值给相应的私有数据成员。
    // student.cpp
    
    #include <iostream>
    #include "student.h"
    
    void Student::display() {
        std::cout << "num: " << num << std::endl;
        std::cout << "name: " << name << std::endl;
        std::cout << "sex: " << sex << std::endl;
    }
    
    void Student::set_value(int n, const char* nm, const char* sx) {
        num = n;
        strcpy(name, nm);
        sex = sx[0]; // 注意这里只取第一个字符作为性别
    }
    
    1. main.cpp中,创建一个Student对象,并调用set_value()方法为其赋值,然后调用display()方法显示学生信息。
    // main.cpp
    
    #include <iostream>
    #include "student.h"
    
    int main() {
        Student stud;
    
        // 使用set_value方法为对象赋值
        stud.set_value(12345, "John Doe", "M");
    
        // 显示学生信息
        stud.display();
    
        return 0;
    }
    

    现在,当运行main.cpp时,会首先创建一个Student对象,然后使用set_value()方法为其设置初始值,最后调用display()方法打印出学生的学号、姓名和性别。确保所有三个文件都在同一个目录下,然后编译并运行整个程序。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月30日
  • 已采纳回答 5月30日
  • 创建了问题 5月28日

悬赏问题

  • ¥15 如何改进这个简易的模数转换程序
  • ¥30 模拟电路 logisim
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法