试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该类有两个共有成员函数,分别用来设置成员数据和输出成员数据,在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。
时间: 2023-04-06 12:03:10 浏览: 51
好的,这是一个关于编程的问题,我可以回答。这里是一个复数类的示例代码:
```
class Complex {
private:
double real;
double imag;
public:
void set(double r, double i) {
real = r;
imag = i;
}
void print() {
cout << real << " + " << imag << "i" << endl;
}
};
int main() {
Complex c1;
c1.set(1, 2);
c1.print();
Complex* c2 = new Complex();
c2->set(3, 4);
c2->print();
delete c2;
Complex& c3 = c1;
c3.set(5, 6);
c1.print();
return 0;
}
```
这个类有两个私有成员变量,一个公有的设置函数和一个公有的输出函数。在主函数中,我们创建了一个对象 `c1`,一个指针 `c2` 和一个引用 `c3`,并使用它们来调用公有函数设置和输出成员数据。
相关问题
试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该类有两个公有成员函数,分别用来设置成员数据和输出成员数据。(采用多文件结构)
复数类头文件(complex.h):
```c++
#ifndef COMPLEX_H
#define COMPLEX_H
class Complex {
public:
Complex(double real = 0.0, double imag = 0.0); // 构造函数
void set(double real, double imag); // 设置实部和虚部
void print() const; // 输出实部和虚部
private:
double m_real; // 实部
double m_imag; // 虚部
};
#endif
```
复数类源文件(complex.cpp):
```c++
#include "complex.h"
#include <iostream>
Complex::Complex(double real, double imag) : m_real(real), m_imag(imag) {}
void Complex::set(double real, double imag) {
m_real = real;
m_imag = imag;
}
void Complex::print() const {
std::cout << m_real << "+" << m_imag << "i" << std::endl;
}
```
测试程序源文件(main.cpp):
```c++
#include "complex.h"
int main() {
Complex c;
c.set(1.0, 2.0);
c.print();
return 0;
}
```
编译并运行测试程序:
```
$ g++ main.cpp complex.cpp -o main
$ ./main
1+2i
```
试设计一个复数类,该类有实部和虚部两个成员数据,成员数据采用私有访问权限,同时该类有两个公用成员函数,分别用来设置成员数据和输出成员数据,在主函数中分别采用对象方式,指针方式和引用方式来调用该类的公有函数设置和输出成员数据。
以下是复数类的代码:
```cpp
class Complex {
private:
double real;
double imag;
public:
Complex() : real(0), imag(0) {}
Complex(double r, double i) : real(r), imag(i) {}
void setReal(double r) { real = r; }
void setImag(double i) { imag = i; }
void output() { cout << real << " + " << imag << "i" << endl; }
};
int main() {
Complex c1;
c1.setReal(1);
c1.setImag(2);
c1.output();
Complex* c2 = new Complex(3, 4);
c2->setReal(5);
c2->setImag(6);
c2->output();
delete c2;
Complex& c3 = c1;
c3.setReal(7);
c3.setImag(8);
c1.output();
return 0;
}
```
这个类有两个私有成员变量,分别表示实部和虚部。它有两个公有成员函数,一个用于设置实部和虚部,另一个用于输出实部和虚部。在主函数中,我们创建了一个对象 `c1`,一个指针 `c2` 和一个引用 `c3`,并使用它们来调用类的公有函数。