Visual c++ 如何用数据成员和成员函数C++编写类
嗨,伙计们,我想让你们帮我完成作业,我曾试图解决它,但有一些事情让我:我知道如何创建名称和id 字符串名; int-Id bt wt是指指向动态分配的等级数组的指针:s:s:s? i jst knw如何声明一个指针,如:double*Grades 这是作业 创建包含以下数据成员的StudentGrades类: 名称:类型字符串 Id:type整数 等级:指向动态分配的等级数组的指针。类型为:指向double*double的指针 它包括以下成员功能: 无参数构造函数 一种构造函数,它接受两个参数:字符串和整数,并用字符串初始化名称,用整数初始化ID。 设置和获取Name、ID的函数 学生信息的打印功能。它打印姓名、身份证和成绩。 类对象的重载赋值运算符 类对象的副本构造函数 使用复制构造函数和重载赋值运算符的语法。Visual c++ 如何用数据成员和成员函数C++编写类,visual-c++,Visual C++,嗨,伙计们,我想让你们帮我完成作业,我曾试图解决它,但有一些事情让我:我知道如何创建名称和id 字符串名; int-Id bt wt是指指向动态分配的等级数组的指针:s:s:s? i jst knw如何声明一个指针,如:double*Grades 这是作业 创建包含以下数据成员的StudentGrades类: 名称:类型字符串 Id:type整数 等级:指向动态分配的等级数组的指针。类型为:指向double*double的指针 它包括以下成员功能: 无参数构造函数 一种构造函数,它接受两个参数:
在另一个文件中创建一个C++程序,它提示用户创建四个类学生对象的数据。第一个对象std1有5个等级,第二个std2有6个等级,第三个std3有4个等级,第四个std4没有等级和数据。 然后将std2复制到std4中,并将std1分配给std3。然后打印四个对象的详细信息
嘿,我解决了我的任务,我正在试着运行它,但它不起作用。有人能告诉我程序的问题在哪里吗#include <iostream>
using namespace std;
class student_grades{
private:
string name,n;
int Id,i;
double* grades[];
public:
student_grades();
student_grades(sting, int);
student_grades(const student_grades&);
void set(string name,int Id){
cout << "enter the name and the ID";
cin >> n >> i;
n = name;
i = Id;
}
void get(){
return i;
return n;
}
void student_grades (student_grades&opr){
name = name.opr;
Id = Id.opr;
grades[] = grades[].opr;
}
void student_info(){
cout << "the name of the student is:" << name;
cout << "the id for the srudent is:" << Id;
grades = new double[];
cout << "the grades of the student is:" << grades[] << endl;
delete []grades;
}
};
student_grades::student_grades() {}
student_grades::student_grades(string name, int Id) {
name=" ";
Id=0;
}
student_grades::student_grades(const student_grades& copy) {
name=copy.name;
Id=copy.Id;
}
int main() {
student_grades std1;
std1.set();
cin >> std1.grades[5];
std1.get();
student_grades std2;
std2.set();
cin >> std2.grades[6];
std2.get();
student_grades std3;
std3.set();
cin >> std3.grades[4];
std3.get();
student_grades std4;
std4.set();
cin >> std4.grades[];
std4.get();
std1 = std3;
std2 = std4;
cout << std1 << std2 << std3 << std4;
return 0;
}
动态分配的数组是一个直到运行时才给定特定大小的数组,这与编译时的固定数组声明不同。固定数组的声明如下所示:
int grades[500];
该数组将为500个整数分配内存,并保持这种状态,除非您破坏它或调整它的大小
创建动态分配的阵列看起来更像这样:
int* grades = NULL; // A declaration in your StudentGrades class
int n = <get size from somewhere>; // Makes the size "dynamic"
grades = new int[n]; // This definition could be in your StudentGrades ctor,
// with n being a parameter.
非常感谢这真的很有帮助。我可以问更多的问题吗?是的,你可以问更多的问题,但我不会为你做家庭作业。哈哈,不,不,你不会做的,我很困惑。不要担心我们如何打印一个函数,我们没有从用户那里获取输入?好的。。。要问其他问题,不要发布新问题,只需编辑您的原始帖子即可。
delete [] grades;
grades = NULL;