C++静态数据成员和静态成员函数以及new和delete以及指向对象的指针并举例
时间: 2024-01-17 11:06:01 浏览: 38
好的,下面我会分别举例说明。
静态数据成员的例子:
```C++
class MyClass {
public:
static int count; // 静态数据成员
MyClass() { count++; } // 每次创建对象时 count 自增
};
int MyClass::count = 0; // 静态数据成员的初始化
int main() {
MyClass obj1, obj2;
cout << MyClass::count << endl; // 输出 2,因为创建了两个 MyClass 的对象
return 0;
}
```
静态成员函数的例子:
```C++
class MyClass {
public:
static void print(int x) { cout << "x = " << x << endl; } // 静态成员函数
};
int main() {
MyClass::print(10); // 直接通过类名调用静态成员函数
return 0;
}
```
new和delete的例子:
```C++
int main() {
int *ptr = new int; // 动态分配一个 int 类型的内存空间
*ptr = 10; // 对该内存空间进行赋值
cout << *ptr << endl; // 输出 10
delete ptr; // 释放内存空间
return 0;
}
```
指向对象的指针的例子:
```C++
class MyClass {
public:
void print() { cout << "Hello" << endl; }
};
int main() {
MyClass obj;
MyClass *ptr = &obj; // 定义指向 MyClass 对象的指针
ptr->print(); // 通过指针调用 MyClass 对象的 print() 函数
return 0;
}
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)