初识C++的启航:基础知识与实践(下篇)
初识C++的启航:基础知识与实践(下篇)
欢迎来到C++学习旅程的下篇!在上一篇文章中,我们探索了C++的一些基本概念,如变量、数据类型、条件语句和循环。本篇将继续深入,探讨函数、指针、面向对象编程等更高级的主题,帮助你更全面地理解和应用C++。
1. 函数
函数是C++编程中的基本模块,用于封装特定的任务或计算,便于代码的重用和组织。
定义函数:
#include <iostream>
using namespace std;
// 函数声明
int add(int a, int b);
// 主函数
int main() {
int sum = add(5, 10); // 调用函数
cout << "Sum: " << sum << endl;
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
2. 指针
指针是存储内存地址的变量,允许对内存进行灵活的操作,是C++强大特性之一。
基本指针操作:
#include <iostream>
using namespace std;
int main() {
int val = 42;
int *ptr = &val; // 指针ptr指向变量val的地址
cout << "Value: " << val << endl;
cout << "Pointer Address: " << ptr << endl;
cout << "Dereferenced Pointer: " << *ptr << endl;
return 0;
}
3. 面向对象编程 (OOP)
C++以其支持面向对象编程而闻名,能够定义类和对象以提高代码可重用性和模块化。
类与对象:
#include <iostream>
using namespace std;
// 定义类
class Car {
public:
string brand;
string model;
int year;
void displayInfo() {
cout << "Brand: " << brand
<< ", Model: " << model
<< ", Year: " << year << endl;
}
};
int main() {
Car car1; // 创建对象
car1.brand = "Toyota";
car1.model = "Corolla";
car1.year = 2020;
car1.displayInfo(); // 调用类的方法
return 0;
}
4. 构造函数与析构函数
构造函数用于初始化对象,析构函数用于清理对象。
示例:
#include <iostream>
using namespace std;
class Car {
public:
string brand;
string model;
int year;
// 构造函数
Car(string br, string mo, int yr) {
brand = br;
model = mo;
year = yr;
}
// 析构函数
~Car() {
cout << "Destroying Car object: " << brand << endl;
}
void displayInfo() {
cout << "Brand: " << brand
<< ", Model: " << model
<< ", Year: " << year << endl;
}
};
int main() {
Car car1("Toyota", "Corolla", 2020);
car1.displayInfo();
return 0;
}
5. 继承
继承允许新类基于已有类创建,促进代码的重用和扩展。
示例:
#include <iostream>
using namespace std;
// 基类
class Vehicle {
public:
string brand = "Ford";
void honk() {
cout << "Tuut, tuut!" << endl;
}
};
// 派生类
class Car : public Vehicle {
public:
string model = "Mustang";
};
int main() {
Car myCar;
myCar.honk();
cout << "Brand: " << myCar.brand << ", Model: " << myCar.model << endl;
return 0;
}
结语
通过学习和实践这些C++的核心概念,你将对如何进行有效编程和解决复杂问题有更深刻的理解。继续通过项目和例子深化你的C++技能,以便在实际工作中应用自如。祝你在编程之路上有更多的发现与进步!