什么是类 什么是对象?
类和对象的理解在整个c++语言学习中和核心的基础 简单来说 ,类其实就是一个变量类型,对象就是这个类型定义 出来的具体变量 比如int array ; 这句话 int 对应类 array 就对应对象 但是要注意的就是int 是c++的内置类型 ,并不是真正的类
类是对象的抽象和概括 而对象是类的具体和实例
类长啥样呢 其实就是包含函数的结构体 !!!因为c++类里面的成员除了可以向c语言的结构体那样包含基本变量以外 ,还可以包含函数 ,前者叫做成员变量 后者叫做成员方法
class类定义 ,学生类
class student
{
public:
int num;
char name[100];
int score;
int printf()
{
cout <<num<<" "<<name<< " "<<score;
return 0;
}
};
形式上和C语言的结构体非常像,成员有变量也有函数,今后我们要习惯称之为属性和方法了。值得一提的是大家注意观察还有类里还有一个public的东西,它是控制成员访问权限的一个存取控制属性
除了public以外,还有private、protected一共三种
其中private表示私有,被它声明的成员,仅仅能被该类里的成员访问,外界不能访问,是最封闭的一种权限;protected比private稍微公开一些,除了类内自己的成员可以访问外,它的子类也可以访问而public声明的成员,则可以被该类的任何对象访问,是完全公开的数据。
以上是一种写法 那么再看另一种写法 c++还至此另一种写法就是成员函数仅在类内声明函数原型,在类外定义函数体 这样在类里可以看到所有成员函数的列表 可以更加规范
在类中声明函数原型的方法与一般C语言的函数原型声明一样,而在类外定义函数的方法,则需要类名加::作用域限定符表示
class student
{
public:
int num;
char name[100];
int score;
int printf();
};
int student :: printf()
{
cout <<num<<" "<<name<<" "<<score;
return 0;
}
大家注意print函数在类里声明后,我们在后面又完整的定义了出来,函数头部分在返回值和函数名之间用类名加 : :的方式指明这个函数是属于哪个类的。
|