1.类的声明:
class Student
{
int num;
char name[20];
int age;
void getStudent(){
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "age:" << age << endl;
}
};
Student stud1, stud2;
声明了stud1,stud2 两个对象
上面的声明还可以改成
class Student
{
private:
int num;
char name[20];
int age;
public:
void getStudent(){
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "age:" << age << endl;
}
};
如果不声明指定private 和public 默认为私有的private
类的声明和结构体的声明的区别:
用struct声明的类,如果对其成员不作private或public 的声明系统将其默认为public
如果希望成员都是公用的那么用struct 声明比较方便
如果希望部分成员是私有的,适合用class
在类外定义成员函数:
class Student{
public:
void getStu();
private:
int num;
char name[20];
int age;
};
void Student::getStu(){
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "age:" << age << endl;
}
::是作用域限定符,用它声明函数属于哪个类
Student::getStu()
说明Student类的作用域中的函数getStu()
::getStu()
或 getStu() 说明getStu()不属于任何类,不是成员函数,而是全局函数
内置成员函数
class Student
{
private:
int num;
char name[20];
int age;
public:
inline void getStudent(){
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "age:" << age << endl;
}
};
在类外定义内置函数
class Student{
public:
void getStu();
private:
int num;
char name[20];
int age;
};
inline void Student::getStu(){
cout << "num:" << num << endl;
cout << "name:" << name << endl;
cout << "age:" << age << endl;
}
注意:如果在类外定义inline函数,则必须将类定于和成员函数的敌营放在同一个头文件中(或者说写在同一个源文件中),否则编译时无法进行置换。这样做不利于类的接口和类的实现分离,不利于信息的隐蔽。 只有在类外定义的成员函数规模很小而调用频率较高时,才指定为内置函数