C++ 面向对象编程简介
本课属于 Coddy C++ 学习旅程的“面向对象编程”单元。第 5 课,共 104 课。
面向对象编程会将代码组织成类,把数据和行为组合在一起。
一个包含公有成员的简单类
class Dog {
public:
std::string name;
int age;
std::string bark() {
return name + " says Woof!";
}
};创建和使用对象
Dog dog;
dog.name = "Buddy";
dog.age = 3;
std::cout << dog.bark() << std::endl;输出:
Buddy says Woof!类定义了结构:它保存什么数据,以及可以执行什么操作。对象是你创建并使用的一个具体实例。public: 下的成员可以从任何地方访问。
在项目中,类通常放在头文件(Dog.h)中,头文件只声明它的方法,而方法体放在 .cpp 文件中。每个方法名前面都要写上类名和 ::(作用域解析运算符):
// Dog.h
#include <string>
class Dog {
public:
std::string name;
std::string bark(); // 仅声明
};
// Dog.cpp
#include "Dog.h"
std::string Dog::bark() {
return name + " says Woof!";
}挑战
简单创建一个包含公有成员和方法的 Dog 类:
- 公有成员:
name(字符串)和age(int) bark():返回"<name> says Woof!"info():返回"<name> is <age> years old"
亲手试试
#include <iostream>
#include "Dog.h"
int main() {
std::string name;
int age;
std::getline(std::cin, name);
std::cin >> age;
Dog dog;
dog.name = name;
dog.age = age;
std::cout << dog.bark() << std::endl;
std::cout << dog.info() << std::endl;
return 0;
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
自己练习: C++ 在线编译器