В вашем случае void displayStudInfo(Student s)
является функцией-членом Student
, поэтому вы должны вызывать ее для экземпляра Student
, так же, как вы делали с enterInfo
.
. это по-разному. Один из способов - сделать функцию-член свободной функцией, переместив ее из тела Student
class Student{
public:
// …
};
void displayStudInfo(Student s)
{
cout << "Age = " << s.age << ", name=" << s.name << endl;
}
int main(){
// …
displayStudInfo(abir);
}
displayStudInfo
, на самом деле хороший кандидат на свободную функцию. Или вы делаете его static
, который похож на бесплатную функцию, и получаете доступ к функции-члену stati c, используя Student::displayStudInfo(abir)
.
Другим способом было бы вызвать displayStudInfo
на abir
, в этом случае вам не нужен аргумент Student
, так как abir
неявно передается displayStudInfo
.
class Student{
public:
// …
void displayStudInfo()
{
cout << "Age = " << age << ", name=" << name << endl;
}
};
int main(){
// …
abir.displayStudInfo();
}