面向对象知识
类与对象知识
C++中对象的类型称为类
类代表了某一批对象的共性和特征
类是对象的抽象,对象是类的具体实例
类的定义:
类是一种复杂的数据类型,是不同类型的数据和与这些数据相关的运算封装在一起的集合体
#include <iostream>
using namespace std;
//设计一个学生类
class CStudent
{
public://公有成员,数据和函数不受类的限制,可以在类内和类外自由使用
void InputData()
{
cout << "\n\n请输入学号:";
cin >> sno;
cout << "请输入姓名:";
cin >> sname;
cout << "请输入分数:";
cin >> dscore;
}
void OutputData();//声明函数
double daverage;//平均分
private://私有成员,限定在类的内部使用
int sno;//学号
char sname[10];//姓名
double dscore;//分数
protected://保护成员,作用域是该类及该类的派生类
};
CStudent stu2;//声明全局对象
//函数实现在外面加(类名::)
inline void CStudent::OutputData()
{
cout << "\n\n学生数据信息如下:" << endl;
cout << "学号" << sno << endl;
cout << "姓名" << sname << endl;
cout << "分数" << dscore << endl;
}
void testfunc()
{
stu2.daverage = 100;
cout << "小明的平均分:" << stu2.daverage << endl << endl;
}
int main()
{
CStudent stu1;//局部对象
stu1.InputData();//调用输入函数为私有数据成员赋值
stu1.OutputData();//调用输出函数将数据信息输出
stu1.daverage = 100;//为什么可以访问daverage,因为这个数据类型是公有的
//stu1.dscore = 90;//为什么不可以访问dscore,因为dscore是私有数据成员,外界不可访问
testfunc();
return 0;
}
#include <iostream>
using namespace std;
int count_func()
{
static int x = 0;//静态关键字static
return ++x;
}
int main()
{
for (int i = 0; i < 10; i++)
cout << "调用计数函数:" << count_func() << endl;
cout << "\n";
return 0;
}