c++类和对象是什么关系 如何在c++中定义和使用一个类【OOP入门】

C++中类是抽象模板,对象是具体实例;类用class定义,含private、public等成员;对象通过类名创建,可调用公有函数,每个对象独享数据、共享函数代码。

C++类和对象的关系,简单说就是“图纸和成品”的关系:类是抽象的模板、蓝图,定义了某一类事物的共同属性(成员变量)和行为(成员函数);对象则是根据这个类创建出来的具体实例,拥有独立的数据和可调用的功能。

如何定义一个类

class 关键字声明类,后跟类名和一对花括号。类体中可以包含:
私有成员(private):默认访问权限,只能被类内部函数访问;
公有成员(public):可被外部代码直接访问;
保护成员(protected):供派生类使用(进阶内容,入门可暂略)。

例如,定义一个表示学生的类:

class Student {
private:
    std::string name;
    int age;

public: // 构造函数:创建对象时自动调用 Student(std::string n, int a) : name(n), age(a) {}

// 成员函数:提供对外接口
void display() const {
    std::cout << "Name: " << name << ", Age: " << age << std::endl;
}

};

如何创建和使用对象

定义类之后,就可以像定义普通变量一样创建对象。每个对象都拥有自己的一份成员变量副本,但共享同一套成员函数代码。

  • 在栈上创建对象(最常见)Student s1("Alice", 20);
  • 调用公有成员函数:s1.display();
  • 也可创建多个对象,互不干扰:Student s2("Bob", 22); s2.display();
  • 若需动态分配,可用 new:Student* p = new Student("Charlie", 19); p->display(); delete p;

关键点提醒

  • 类本身不占内存,只有创建对象时才分配空间
  • 构造函数名必须与类名完全相同,无返回类型(连 void 都不能写)
  • 访问权限控制是封装的核心:把数据设为 private,通过 public 函数操作,能防止误改
  • 头文件中通常只放类声明,实现放在 .cpp 文件里(工程实践中推荐)

掌握类和对象,就迈出了面向对象编程的第一步。写好一个类,等于搭好了程序的骨架;后续再学继承、多态,就能让代码更灵活、可复用。