c++创建employee类含有指针
时间: 2023-12-30 08:04:53 浏览: 37
#include <iostream>
using namespace std;
class Employee {
private:
string name;
int age;
double *salary; // 指针变量
public:
Employee(string n, int a, double s) {
name = n;
age = a;
salary = new double; // 动态分配内存
*salary = s;
}
~Employee() {
delete salary; // 释放内存
}
void display() {
cout << "Name: " << name << endl;
cout << "Age: " << age << endl;
cout << "Salary: " << *salary << endl;
}
};
int main() {
Employee e("Tom", 25, 5000.0);
e.display();
return 0;
}
相关问题
C++中指针类成员使用例子
下面是一个使用指针类成员的C++示例:
```cpp
#include <iostream>
class Person {
public:
Person(const char* name) {
m_name = new char[strlen(name) + 1];
strcpy(m_name, name);
}
~Person() {
delete[] m_name;
}
private:
char* m_name;
};
class Employee {
public:
Employee(const char* name, int salary) {
m_person = new Person(name);
m_salary = salary;
}
~Employee() {
delete m_person;
}
private:
Person* m_person;
int m_salary;
};
int main() {
Employee* john = new Employee("John Doe", 50000);
delete john;
return 0;
}
```
在这个示例中,`Person`是一个包含一个动态分配的字符串的类。`Employee`类包含一个指向`Person`对象的指针。在`Employee`的构造函数中,我们使用`new`操作符动态分配了一个`Person`对象,并将其指针存储在`m_person`成员变量中。在`Employee`的析构函数中,我们使用`delete`操作符释放了`m_person`指向的`Person`对象。在`main`函数中,我们创建了一个`Employee`对象`john`,并在最后将其释放。
声明employee类在成员函数中用构造函数初始化成员
在C++中,可以在类的成员函数中使用构造函数来初始化类的成员变量。这通常是通过在成员函数中使用成员初始化列表来实现的。
例如,假设我们有一个名为Employee的类,其中包含两个成员变量:name和age。我们可以在类的构造函数中初始化这些成员变量,也可以在成员函数中使用构造函数来初始化它们。下面是使用成员函数初始化的示例:
```c++
class Employee {
public:
Employee() {}
void setInfo(const std::string& name, int age) {
// 使用构造函数初始化成员变量
this->name = std::string(name);
this->age = int(age);
}
private:
std::string name;
int age;
};
```
在上面的代码中,setInfo()成员函数使用构造函数来初始化name和age成员变量。注意,我们需要使用this指针来引用类的成员变量。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.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)