类与对象
一:类是什么
类是一种用户自定义的数据类型
包含
一、属性:数据
二、行为:函数
总的来说类里面有数据和函数
二、对象是什么:
使用类类型定义的变量
三、类和对象的关系
类是对象的抽象(归纳总结)
对象是类的具体(实例)
类是具有相同属性和行为的对象的集合
对象是有具体数据值的类
类成员访问属性修饰关键字
公有属性 public
私有属性 private
保护属性 protected
如果在定义类的时候没有写这些,那么类成员就会被系统默认为是私有属性
访问属性修饰关键字是可以无限次使用的,可以随意转换属性,每一个修饰关键字的范围是截止到下一个修饰关键字
类的定义:
#include<iostream>
using namespace std;
//定义类:
class classname
{
public;
protected;
private;
}
//类的括号里面叫做类的内部,括号外面叫做类的外部
//私有属性和保护属性的共同点是,他们只能在类的内部访问,类的外部是不能访问的
定义对象:
一般我们定义变量都是:类型加上类型名
对象的定义也是如此:类名 对象名;
那就来写个类吧:
#include<iostream>
using namespace std;
#include<string>
class student
{
public:
string name;//名字
int id;//学号
private:
int money//零花钱
//以上的这些都是类里面的数据
//讲话
public:
void speak()
//学习
void study()
{
cout << "学习" << endle;
}
//以上这些都是类里面的行为
};
void student::speak()
{
cout << "我是一个学生,我叫" << name << endl;
}
//用类去定义对象
int main()
{
student obj;//这就定义了一个对象,格式是类名 对象名
= "奥特曼";
;
;//只有money是不能访问的,因为它的属性是私有
student*p;//定义一个指针
p = &obj;
p->id;//可以直接用指针去指向
}
访问对象的成员:
大多数情况下类实例化为对象,对象只拥有属性,没有行为
空类:
class test;
{
}
空类占一个字节
*****类的内部定义的函数默认为内联函数
class和struct的区别和联系(不是类和结构体的区别和联系,而是class和struct)
一、在c++中,class和struct都可以用来声明类。
二、class声明的类,类成员默认属性是私有的,struct默认是公有。
三、一般在c++中声明一个类用class。
四、在继承中默认属性也不一样。
五、在c++中,struct声明的不再是结构体而是类。
六、如果想在c++中,使用结构体,直接用struct,里面不写函数就完事了,class中类成员为属性和行为,数据和
函数。