首页 > 编程语言 > 编程打卡: C++ 语言程序设计

编程打卡: C++ 语言程序设计

时间:2023-05-04 23:12:28浏览次数:77  
标签:real return vector3D imag 编程 C++ Complex operator 打卡

#include <iostream>
using namespace std;
class Complex
{
    protected:
        double real;
        double imag;
    public:
    Complex (double r = 0.0, double i = 0.0): real(r), imag(i) {};
    Complex operator + (const Complex& c)
    {
        return Complex(real + c.real, imag + c.imag);
    }
    Complex operator - (const Complex& c)
    {
        return Complex(real - c.real, imag - c.imag);
    }
    Complex operator * (const Complex& c)
    {
        return Complex(real * c.real - imag * c.imag, real * c.imag + imag * c.real);
    }
    Complex operator / (const Complex& c)
    {
        return Complex((real * c.real + imag * c.imag) / (c.real * c.real + c.imag * c.imag), (imag * c.real - real * c.imag) / (c.real * c.real + c.imag * c.imag));
    }
    friend ostream& operator << (ostream& os, const Complex& c)
    {
        os << c.real << " + " << c.imag << "i";
        return os;
    }
    friend istream& operator >> (istream& is, Complex& c)
    {
        is >> c.real >> c.imag;
        return is;
    }
};
int main()
{
    Complex c1, c2;
    cin >> c1 >> c2;
    cout << c1 + c2 << endl;
    cout << c1 - c2 << endl;
    cout << c1 * c2 << endl;
    cout << c1 / c2 << endl;
    return 0;
}
#include <iostream>
using namespace std;
class vector3D {
    protected:
        double x, y, z;
    public:
    vector3D (double a = 0.0, double b = 0.0, double c = 0.0): x(a), y(b), z(c) {};
    vector3D operator+(const vector3D& v) {
        return vector3D(x + v.x, y + v.y, z + v.z);
    }
    vector3D operator-(const vector3D& v) {
        return vector3D(x - v.x, y - v.y, z - v.z);
    }
    vector3D operator*(const vector3D& v) {
        return vector3D(x * v.x, y * v.y, z * v.z);
    }
    friend ostream& operator<<(ostream& os, const vector3D& v) {
        os << "(" << v.x << ", " << v.y << ", " << v.z << ")";
        return os;
    }
    friend istream& operator>>(istream& is, vector3D& v) {
        is >> v.x >> v.y >> v.z;
        return is;
    }
};
int main() {
    vector3D v1, v2;
    cout << "v1 坐标值为: ";
    cin >> v1;
    cout << "v2 坐标值为: ";
    cin >> v2;
    cout << v1 + v2 << endl;
    cout << v1 - v2 << endl;
    cout << v1 * v2 << endl;
    return 0;
}

标签:real,return,vector3D,imag,编程,C++,Complex,operator,打卡
From: https://www.cnblogs.com/sugar-refinery/p/17372833.html

相关文章

  • 打卡4
    问题描述:给定一个M进制的数x,实现对x向任意的一个非M进制的数的转换。流程图:  伪代码:inputM,xx0<-0fora<-0to...iftemp[a]=’\0’breakfori<-ato0x0+=M^iinputNforj<-0to...b=x0/N^jifb>=Noutputchar‘b%N’elseoutputchar‘b’break代码:#i......
  • 打卡
    1.问题:一个口袋中放个12球,一直其中3个是红的,3个是白的,6给是黑的,现从中任取8个,问共有多少种可能的黑色搭配?2.思路:知红球数与白球数均小于或等于3个,又黑球有六个,故知八个球中必有黑球,所以二重for循环将红球与白球的所有的情况列举,并用8减去两个球数得可能的黑球数判断是否小于或等......
  • 第十天打卡
    补充下列代码,使得程序的输出为:A:3A:15B:53155类和函数接口定义: 参见裁判测试程序样例中的类和函数接口。 裁判测试程序样例: #include<iostream>usingnamespacestd;classCMyClassA{intval;public:CMyClassA(int);voidvirtualprint();};CMyCl......
  • 【C++学习笔记】类的长度
    //空类长度是1由于可以初始化,所以必须有一个长度1class空类{}//一个函数长度是1其实函数不占长度,多个函数,长度还是为1,为了初始化,必须有一个长度。class一个函数{voidTest();}//一个虚函数类由于有一个虚函数表,所以必须长度为4,多个虚函数,也是4class一个虚函数类......
  • 每日打卡-16
    一.问题描述农夫约翰有N头奶牛,编号1∼N。约翰让它们排成一排,以便拍照。最初,奶牛从左到右按照a1,a2,…,aN的顺序排列。但是,约翰希望奶牛从左到右按照b1,b2,…,bN的顺序排列。为此,他需要对队列进行一系列的调整操作。每次操作可以选择任意一头奶牛并将其向左移动一些位......
  • 编程一小时2023.5.4
    1.#include<iostream>usingnamespacestd;inta[501][501];intmain(){intn,sum=0;cin>>n;for(inti=1;i<=n;i++)for(intj=1;j<=n;j++)cin>>a[i][j];for(inti=n;i>=2;i......
  • C++第四章课后习题4-19
    定义一个CPU类1#include<iostream>2usingnamespacestd;3enumCore{4Single,Dual,Quad5};6enumWords{7Bits32,Bits648};9enumHyperThread{10Support,Notsupport11};12classCPU{13public:14CPU(longint......
  • 第十二天打卡
    一、问题描述根据银行的不同月利息,现在某人手上有2000元,要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多,假设银行对超出存款期限的那一部分时间不付利息。二、设计思路1.由于在每个期限的存钱次数不做限制,故可以直接都遍历一次;2.设计五个数来存储次......
  • 天天打卡9
    编写一个哺乳动物类Mammal,再由此派生出狗类Dog,二者都声明speak()成员函数,该函数在基类中被声明为虚函数。声明一个Dog类的对象,通过此对象调用speak函数,观察运行结果。#include<iostream>usingnamespacestd;classMammal{ public: Mammal(){cout<<"ConstructorinMamma......
  • 打卡
    template<classT>classMyArray{private:intsize;T*data;public:MyArray(ints){size=s;data=newT[size];}voidsort(){inti,j;......