C++程序一般结构由类的声明、定义、使用组成
类的使用一般在主函数及其子函数中
#include <iostream> // 预处理命令
using namespace std;
/* 类的声明 */
class Student // 声明一个类,类名为Student
{
private: // 以下为类中的私有部分
int num; // 私有变量num
int score; // 私有变量score
public: // 以下为类中的公用部分
void setdata() // 定义公用函数setdata
{
cin >> num; // 输入num的值
cin >> score; // 输入score的值
}
void display() // 定义公用函数display
{
cout << "num = " << num << endl; // 输出num的值
cout << "score = " << score << endl; //输出score的值
};
};
/* 类的声明结束*/
int main() // 主函数首部
{
/* 类的定义和使用 */
Student stud1, stud2; //定义stud1和stud2为Student类的变量,称为对象
stud1.setdata(); // 调用对象stud1的setdata函数
stud2.setdata(); // 调用对象stud2的setdata函数
stud1.display(); // 调用对象stud1的display函数
stud2.display(); // 调用对象stud2的display函数
return 0;
}
Attention
这边还要注意,setdata()
和display()
都是内联函数
在类体内定义的函数默认为内联函数(取决于编译器),当然,也可以在前面加inline
明确地显式定义;
class Student{
public:
inline void setdata(){
cin >> num;
cin >> score;
}
};
或者,在类体内声明函数后,在类体外定义时,追加inline
;
class Student{
public:
void setdata();
};
inline void Student::setdata(){
cin >> num;
cin >> score;
}
或者,在类体内声明内联,函数体定义在类体外
class Student{
public:
inline void setdata();
};
void Student::setdata(){
cin >> num;
cin >> score;
}
一般,如下两种情况不视为内联函数
class Student{
public:
void setdata();
};
void Student::setdata(){
cin >> num;
cin >> score;
}
inline void Student:: setdata();
在类体外,使用inline说明内联函数时,必须使函数体和inline说明结合在一起,否则编译器将它作为普通函数处理。