|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 ~May~ 于 2025-2-20 20:00 编辑
#include <iostream>
using namespace std;
//类是对象的集合,对象是类的个体
//具有特定的功能,能够解决特定问题的实体就是一个对象,而由若干个具有相同的特征和行为的对象组成的集合就是一个类,
// 在类中写所有的对象共有的特征和行为,其中特征使用变量来定义,在这里称为“属性”;行为使用函数来表示。
//访问权限有三种:用来修饰属性、行为可以在什么位置访问的
//private:私有权限、只能够在当前的类中访问,其它位置不可访问
//protected:保护权限、类外不能访问,可以在当前类和子类中访问
//public:公开权限、可以在任意的位置进行访问
class Person {
//C++中类的属性和行为,默认都是私有(private)的, 如果需要在类外进行访问,需要修改权限为public
public:
string name;
int age;
string gender;
int score;
void eat(){
cout << "人类喜欢干饭" << endl;
}
void sleep() {
cout << "人类也喜欢睡觉" << endl;
}
};
int main() {
//创建对象:从一个类中找到一个个体
Person xiaoming = Person();
//person xiaozhangd等价于person xiaozhang=pengson()
Person xiaozhang;
//new在堆上开辟空间,无new在栈上开辟空间
Person* xiaoli = new Person();
// 创建对象的适合,需要在内存中开辟空间
//如果类中是有属性的,所有的属性占用的空间大小的和
//如果类中是没有属性的,对象占用的空间大小不是0而是1
cout << sizeof(xiaoming) << endl;
//成员访问:访问类中的成员(属性、函数)
//需要使用对象访问
xiaoming.name = "xiaoming";
xiaoming.age = 19;
xiaoming.gender = "male";
xiaoming.score = 100;
cout << xiaoming.name << endl;
cout << xiaoming.age << endl;
cout << xiaoming.gender << endl;
cout << xiaoming.score << endl;
xiaoming.eat();
xiaoming.sleep();
//如果是一个对象指针的话,可以先通过*找到堆空间,再通过.访问属性
(*xiaoli).name = "xiaoli";
(*xiaoli).age = 18;
(*xiaoli).gender = "male";
(*xiaoli).score = 100;
cout << (*xiaoli).name << endl;
//在c++中,直接将*寻堆空间,再访问属性的写法,简化成->
cout << xiaoli->name << endl;
cout << xiaoli->age << endl;
cout << xiaoli->gender << endl;
cout << xiaoli->score << endl;
xiaoli->eat();
xiaoli->sleep();
return 0;
} |
|