C++中,对象是一种特别的变量,它是类的一个实例。类是一种定义对象的模板,它包括数据和各种方法。在本篇文章中,我们将会详细讲解C++中的类和对象,让你更好地理解它们的用法和原理。
定义类
C++是一种面向对象的编程语言,其中类是面向对象的一个基本概念。我们可以使用以下方式定义一个类:
class Student {
public:
//公有的成员函数
void getname();
void setname(char *name);
private:
//私有的成员变量
char *name;
int age;
};
其中,类由关键字“class”开始定义,后跟类名称“Student”。大括号内的信息是类的主体。公有和私有部分分别包括公共和私有成员。
公有部分包含可以从任何地方访问的成员,以及提供对象和使用函数的接口的成员函数。私有部分包含只能从类中访问的成员,以及实施类操作的实用函数。
定义对象
C++中,我们可以使用以下代码定义一个类对象:
Student stu;
这行代码创建了一个称为“stu”的类对象,它是“Student”类的一个实例,可以使用对象名字和实例方法来使用。
使用对象
我们可以在类声明中定义公有和私有函数来对对象进行操作。下面是定义学生姓名和获取学生姓名的方法:
void Student::setname(char *name) {
this->name = name; // “this”是一个指向当前正在操作的对象的指针
}
void Student::getname() {
return this->name;
}
方法可以在对象上执行。例如,我们可以使用以下方法在“stu”对象上设置名称,并从该对象中获取名称:
stu.setname("张三");
char *name = stu.getname();
这里,我们首先使用“setname”方法设置学生的姓名,然后使用“getname”方法获取学生的姓名。
示例1:计算圆的面积
下面是一个简单的示例,展示如何使用C++编写一个计算圆的面积的程序:
#include<iostream>
using namespace std;
class Circle {
private:
double radius;
public:
void setRadius(double radius);
double getRadius() { return radius; }
double getArea() { return 3.14*radius*radius; }
};
void Circle::setRadius(double radius) {
this->radius = radius;
}
int main() {
Circle circle;
circle.setRadius(6.0);
double area = circle.getArea();
cout << "半径为" << circle.getRadius() << "的圆的面积为:" << area << endl;
return 0;
}
在这个示例中,我们定义了一个“Circle”类,它具有一个存储半径的私有成员变量和三个公共成员函数:一个用于设置半径的成员函数,一个用于获取半径的成员函数和一个用于获取圆的面积的成员函数。我们在“main”函数中创建一个“circle”对象并使用该对象的方法计算圆的面积。
示例2:图书管理系统
下面是一个更复杂的示例,展示如何在C++中构建一个基本的图书管理系统。
#include<iostream>
#include<string>
using namespace std;
class Book {
private:
int bookid;
string bookname;
string author;
double price;
public:
void setBook(int bookid, string bookname, string author, double price);
void showBookInfo();
};
void Book::setBook(int bookid, string bookname, string author, double price) {
this->bookid = bookid;
this->bookname = bookname;
this->author = author;
this->price = price;
}
void Book::showBookInfo() {
cout << "书籍id:" << bookid << endl;
cout << "书名:" << bookname << endl;
cout << "作者:" << author << endl;
cout << "价格:" << price << endl;
}
int main() {
Book book1, book2;
book1.setBook(1001, "C++ Primer", "Lippman", 98.0);
book2.setBook(1002, "Thinking in C++", "Eckel", 68.0);
cout << "第一本图书信息:" << endl;
book1.showBookInfo();
cout << "第二本图书信息:" << endl;
book2.showBookInfo();
return 0;
}
在这个示例中,我们定义了一个“Book”类,它具有私有成员变量来存储图书的ID、名称、作者和价格,以及公共成员函数来设置图书信息和显示图书信息。我们在“main”函数中创建两个“Book”对象,并使用这些对象的方法设置和显示图书信息。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++ 再识类和对象 - Python技术站