实验一 类与对象

Conplex.hpp代码

#include<iostream>
#include<math.h>
using namespace std;
class Complex {
public:
    Complex();
    Complex(double real1, double imag1);
    Complex(double real1);
    Complex(const Complex& r);   

    double get_real() const;   
    double get_imag() const;   
    void show() const;   
    void add(const Complex& m);   

    friend Complex add(const Complex& c1, const Complex& c2);  
    friend bool is_equal(const Complex& c1, const Complex& c2);   
    friend double abs(const Complex& x1);   

private:
    double real, imag;


};
Complex::Complex() :real(0), imag(0) {
}
Complex::Complex(double real1)
{
    real = real1;
    imag = 0;
    //  cout<<real<<endl;
}
Complex::Complex(double real1, double imag1)
{
    real = real1;
    imag = imag1;
}
Complex::Complex(const Complex& r)
{
    real = r.real;
    imag = r.imag;
}
double Complex::get_real() const
{
    //cout<<real<<endl;
    return real;

}
double Complex::get_imag() const
{
    return imag;
}
void Complex::add(const Complex &m)
{
    real = real + m.real;
    imag = imag + m.imag;
}
void Complex::show() const
{
    double n1, n2;
    n1 = get_real();
    //cout<<n1<<endl;
    n2 = get_imag();
    if (n1 == 0 && n2 == 0)
    {
        cout << n1;
    }
    else {
        if (n1 == 0)
        {
            cout << n2 << "i";
        }
        else {
            if (n2 == 0)
            {
                cout << n1;
            }
            else {
                if (n2 > 0)
                    cout << n1 << "+" << n2 << "i";
                else cout << n1 << n2 << "i";
            }
        }
    }
}

Complex add(const Complex& c1, const Complex& c2)
{
    Complex c3;
    c3.real = c1.real + c2.real;
    c3.imag = c1.imag + c2.imag;
    return c3;
}
double abs(const Complex& x1)
{
    double x;
    x = sqrt(x1.real * x1.real + x1.imag * x1.imag);

    return x;
}
bool is_equal(const Complex& c1, const Complex& c2)
{
    if (c1.real == c2.real && c1.imag == c2.imag)
        return true;
    else return false;
}

运行结果

 task4.hpp

 

#include<iostream>
#include<string>
using namespace std;
class User {
public:
    User(string name1);
    User(string name1, string password1, string email1);

    void set_email();   
    void change_passwd();    
    void print_info();    
    static void print_n();

private:
    string name, password, email;
    static int n;   
};
int User::n = 0;  
User::User(string name1)
{
    name = name1;
    password = "111111";
    email = "";
    n++;
}
User::User(string name1, string password1, string email1)
{
    name = name1;
    password = password1;
    email = email1;
    n++;
}
void User::set_email()
{
    string t;
    cout << "Enter email address:";
    cin >> t;
    email = t;
    cout << "email is set successfully···" << endl;
}
void User::change_passwd()
{
    string t0, t1;  
    cout << "Enter old password:";
    for (int i = 1;i <= 3;i++)
    {
        cin >> t0;
        if (t0 == password)
        {
            cout << "Enter new password:";
            cin >> t1;
            password = t1;
            break;
        }
        else if (i <= 2) {
            cout << "password input error. Please re-enter again:";
        }
        else cout << "password input error. Please try after a while." << endl;  
    }
}
void User::print_info()
{
    cout << "name:" << name << endl;
    cout << "passwd:" << "******" << endl;
    cout << "email:" << email << endl;
}
void User::print_n()
{
    if (n == 1)
        cout << "there are " << n << " user." << endl;
    else cout << "there are " << n << " users." << endl;
}

运行结果

 

posted @ 2021-10-23 20:04  致命华彩真实伤害  阅读(39)  评论(3编辑  收藏  举报