Diese Codierung, wo ich Funktion Überladung verwendet, ist ein Code, wo Benutzer ihren Zeiger für 4 Fächer und seine Kredit Stunde eingeben müssen, so druckt es aus GPA. Die Sache ist, ich habe 3 Parameter in Student (String test123, String Nama, String Vinto). Aber ich möchte nur einen der beiden string anzeigen. Sagen wir, ich möchte, dass der Vinto ausgedruckt wird. Wie kann ich den Vinto in meiner Anzeigefunktion aufrufen, so dass er Vinto ausgibt. Heres ist meine Codierung.Kann mir jemand helfen, wie dieser Funktionsparameter aus der Klasse in meiner Ausgabe angezeigt werden
CPP.cpp
#include <iostream>
#include "student.h"
using namespace std;
void main(void)
{
string nama;
string test123;
int i;
Student StudentA(test123, nama, "vinto");
cout << "key in points for 4 subject\n";
StudentA.Getpointers();
StudentA.Display(test123);
}
Student.h
#include<iostream>
#include<string>
using namespace std;
class Student
{
public:
Student(string test123, string nama, string vinto);
void Getpointers();
void Display(string name);
private:
double points[4];
int creditHours[4];
string name;
double CalculateGPA();
};
Student.cpp
#include <iostream>
#include <iomanip>
#include<string>
#include "student.h"
using namespace std;
Student::Student(string test123, string nama, string vinto)
{
name = nama;
}
void Student::Getpointers()
{
for (int i = 0; i<4; i++)
{
cout << "points for subject :" << i + 1 << endl;
cin >> points[i];
cout << "credit hour for subject " << i + 1 << endl;
cin >> creditHours[i];
}
}
void Student::Display(string name)
{
cout << "Hello " << name << endl;
cout << "Your current GPA is " << setprecision(3) << CalculateGPA() << endl;
}
double Student::CalculateGPA()
{
double totalpoints = 0;
int totalcreditHours = 0;
for (int i = 0; i<4; i++)
{
totalpoints += (points[i] * creditHours[i]);
totalcreditHours += creditHours[i];
}
return totalpoints/totalcreditHours;
}
Gibt es einen Weg, wo ich nur einen der 3 Parameter ((string test123, string nama, string vinto)) in Display() aufrufen kann, so am Ende druckt es den Parameter, den ich aufrufen Display() . Sagen wir, wenn ich möchte, dass vinto am Ende angezeigt wird, lege ich display (vinto) an und ich möchte es dem Wertnamen zuweisen. –
Nicht sicher, dass ich dich verstehe. Der Code in der Methode (wie in 'Student :: Display') hat nur Zugriff auf einige Daten (zum Beispiel globale Variablen, Methodenargumente und Klassenmitglieder), also sollten Sie Ihre Daten irgendwo in diesem Speicher ablegen. Das Codebeispiel oben setzt 'vinto' in das Klassenmitglied. Vielleicht ist es hier vorzuziehen, es als Methode Argument übergeben. – alexeykuzmin0