当前位置:实例文章 » 其他实例» [文章]C++学习笔记3

C++学习笔记3

发布人:shili8 发布时间:2025-01-26 03:12 阅读次数:0

**C++学习笔记3**

---

###1. 类和对象####1.1 类的定义在 C++ 中,类是用来描述一个事物或概念的模板。类可以包含数据成员(变量)和函数成员(方法)。下面是一个简单的例子:

cppclass Person {
public:
 string name;
 int age;

 void sayHello() {
 cout << "Hello, my name is " << name << " and I'm " << age << " years old." << endl;
 }
};


####1.2 对象的创建类可以用来创建对象。下面是一个例子:

cppint main() {
 Person person;

 // 初始化数据成员 person.name = "John";
 person.age =30;

 // 调用方法 person.sayHello();

 return0;
}


####1.3 类的访问控制在 C++ 中,类可以使用访问控制符来控制对其成员的访问。下面是一个例子:

cppclass Person {
public:
 string name;

private:
 int age;
};


在这个例子中,`name` 是公有的,而 `age` 是私有的。这意味着外部代码不能直接访问 `age`。

####1.4 类的继承类可以通过继承来扩展另一个类的功能。下面是一个例子:

cppclass Animal {
public:
 void eat() {
 cout << "Eating..." << endl;
 }
};

class Dog : public Animal {
public:
 void bark() {
 cout << "Barking..." << endl;
 }
};


在这个例子中,`Dog` 继承了 `Animal` 的功能,并添加了自己的功能。

###2. 构造函数和析构函数####2.1 构造函数构造函数是用来初始化对象的特殊成员函数。下面是一个例子:

cppclass Person {
public:
 string name;
 int age;

 Person(string n, int a) {
 name = n;
 age = a;
 }
};


####2.2 析构函数析构函数是用来释放对象所占用的资源的特殊成员函数。下面是一个例子:

cppclass Person {
public:
 string name;
 int age;

 ~Person() {
 cout << "Person object destroyed." << endl;
 }
};


###3. 运算符重载运算符重载是指在类中重新定义内置类型的运算符。下面是一个例子:

cppclass Complex {
public:
 double real;
 double imag;

 Complex(double r, double i) : real(r), imag(i) {}

 friend Complex operator+(const Complex& a, const Complex& b);
};

Complex operator+(const Complex& a, const Complex& b) {
 return Complex(a.real + b.real, a.imag + b.imag);
}

int main() {
 Complex c1(3.0,4.0);
 Complex c2(5.0,6.0);

 Complex result = c1 + c2;

 cout << "Result: (" << result.real << ", " << result.imag << ")" << endl;

 return0;
}


在这个例子中,`+` 运算符被重载来支持复数的加法。

###4. 模板模板是 C++ 中的一种高级特性,它允许函数或类根据参数类型进行编译。下面是一个例子:

cpptemplate <typename T>
T max(T a, T b) {
 return (a > b) ? a : b;
}

int main() {
 int result1 = max(3,5);
 double result2 = max(3.0,5.0);

 cout << "Max of3 and5: " << result1 << endl;
 cout << "Max of3.0 and5.0: " << result2 << endl;

 return0;
}


在这个例子中,`max` 函数根据参数类型进行编译。

---

以上就是本篇文章的全部内容。希望通过这些例子和注释,你可以更好地理解 C++ 的类、对象、构造函数、析构函数、运算符重载和模板等概念。

相关标签:笔记
其他信息

其他资源

Top