C++学习-类+对象+函数
面向对象C++编程基础
目录
- 类与对象
- 类
- 对象
- 如何创建自己的类
- 类的定义
- 公有和私有
- 如何使用一个类
- 构造函数
- 无输入值的构造函数
- 有输入值的构造函数
- 析构函数
- 常成员函数 const
1. 类与对象
类
在编程中,类是一种封装数据和操作这些数据的方法的蓝图。例如,整数类 int
、浮点数类 float
、字符类 char
都是系统自带的类。
对象
对象是类的一个实例。创建自己的类可以定义自己的对象,比如学生类 student
。
2. 如何创建自己的类
类的定义
class student {
string name;
int age;
};
类名: student
成员数据: name
, age
公有和私有
class student {
public:
string name;
private:
int age;
};
公有:
public
name
是公有的,可以在类外部读写 name
的值。
私有:
private
age
是私有的,外部不可见,避免乱改。
3. 如何使用一个类
在主函数 main
里:
student a;
a.age = 20;
创建一个 student
类的对象,名字叫 a
,给 a
的 age
属性赋值 20。
4. 构造函数
构造函数的本质是对象初始化,属性可以有默认值。注意:构造函数名字和类名一样。
无输入值的构造函数
class student {
public:
int age;
string name;
student(); // 无输入值和返回值,名字=类名
student(int a, string b); // 重载,有两个输入参数,age, name
};
student::student() {
age = 20;
name = "张三";
}
主函数中:
student a;
新建 student
类的对象,名字叫 a
,构造函数会自动设置 age=20
, name="张三"
。
有输入值的构造函数
student::student(int a, string b) {
age = a;
name = b;
}
调用:
student bb(25, "李四");
5. 析构函数
析构函数用于销毁那些一直在内存里的数据。
student* p = new student(20, "张三");
delete p; // 调用析构函数,删除 "20", "张三"
6. 常成员函数 const
常成员函数用于只读属性,不修改属性。
class student {
public:
int age;
string name;
bool set(int i); // 成员函数声明
bool read() const; // 不同在于后面加 const
};
bool student::read() const {
cout << name;
return true;
}
调用:
student a;
a.read();
可以不用 const
函数,普通方法也可以读数据,const
只是为了避免被乱改数据。如果修改会报错。