PDA

View Full Version : ارور در کد مربوط به معدل دانشجویان



alirah84
سه شنبه 30 آبان 1391, 00:00 صبح
سلام
دوستان من این کد رو نوشتم ولی 3 نوع ارور مختلف میده .اگه راهنمایی کنید ممنون میشم.



Error 2 error C2248: 'Student::ave' : cannot access private member declared in class 'Student' c:\users\hossein\documents\visual studio 10\projects\ad\ad\hgd.cpp 35

Error 1 error C2660: 'sort' : function does not take 1 arguments c:\users\hossein\documents\visual studio 10\projects\ad\ad\hgd.cpp 25


11 IntelliSense: member "Student::ave" (declared at line 7) is inaccessible c:\users\hossein\documents\visual studio 10\projects\ad\ad\hgd.cpp 35





#include <iostream>

#include <string>
using namespace std;
class Student
{
char name[20];
float ave;
public:
void input();
friend void sort();
};
void Student:: input()
{
cin.get(name,20);
cin>>ave;
}
int main()
{
Student *p;
p=new Student[10];
for (int i=0;i<10;i++)
{
(p+i)->input();
}
sort(p);
}
void sort(Student *p)
{
float temp;

for (int i=0;i<10;i++)
{
for (int j=0;j<9;j++)
{
if ( (p+i)->ave > (p+i+1)->ave )
{
temp=(p+i)->ave;
(p+i)->ave=(p+i+1)->ave;
(p+i+1)->ave=temp;
}
}

}
for (int i=0;i<10;i++)
{
cout<<"Student "<<i+1<<":"<<(p+i)->name[20]<<endl;
cout<<(p+i)->ave;
}
}

مسعود اقدسی فام
سه شنبه 30 آبان 1391, 10:13 صبح
یکی اینکه ave خصوصی تعریف شده و سعی شده بهش دسترسی عمومی بشه. دوم اینکه sort یه جا بدون آرگومان تعریف شده و یه جا با یه آرگومان.

alirah84
سه شنبه 30 آبان 1391, 13:30 عصر
یکی اینکه ave خصوصی تعریف شده و سعی شده بهش دسترسی عمومی بشه
خوب خاصیت تابع Friend مگه این نیست که به عضوهای خصوصی کلاس دسترسی پیدا میکنه؟

مسعود اقدسی فام
سه شنبه 30 آبان 1391, 13:47 عصر
خطای دوم چی گفته؟ اون sort که بیرون تعریف کردی اون sort نیست که داخل کلاس تعریف کردی. پس دوستش حساب نمی شه.