c++第三次實驗報告


#include<iostream>
using namespace std;
//類的定義
class Rectangle {
public:
void setLength();//用來輸入矩形的長
void setWidth();//用來設置矩形的寬
double getArea();//用來輸出面積
Rectangle();
Rectangle(double m_length, double m_width);
~Rectangle();
private:
double m_ilength, m_iwidth, m_iArea;
};
//函數類外定義
void Rectangle::setLength() {
double _length;
cin >> _length;
m_ilength = _length;
}
void Rectangle::setWidth() {
double _width;
cin >> _width;
m_iwidth = _width;
}
double Rectangle::getArea() {
return m_ilength * m_iwidth;
}
Rectangle::Rectangle() {
m_ilength = 0;
m_iwidth = 0;
}
Rectangle::Rectangle(double m_length, double m_width) {
m_ilength = m_length;
m_iwidth = m_width;
}
Rectangle::~Rectangle()
{
}
//主函數部分
int main() {
Rectangle *p0 = new Rectangle(100, 100);//從堆中申請內存
cout << "請輸入矩形的長" << endl;
p0->setLength();
cout << "請輸入矩形的寬" << endl;
p0->setWidth();
cout <<"矩形的面積為:"<< p0->getArea() << endl;
delete p0;
p0=NULL;
return 0;
}

#include<iostream>
using namespace std;
//Complex類的定義
class Complex {
public:
    Complex(double r0, double i0);
    Complex(double r0);
    Complex(Complex&c0);
    ~Complex();//析構函數
    void show();
    void add(Complex &c0);//此處因為使用引用傳遞,不會調用復制構造函數。
private:
    double real, imaginary;
};
//函數的類外定義
Complex::Complex(double r0, double i0) {
    real = r0;
    imaginary = i0;
}
Complex::Complex(double r0) {
    real = r0;
}
Complex::Complex(Complex&c0) {
real=c0.real;
imaginary=c0.imaginary; } Complex::
~Complex(){ } void Complex::show() { cout << real << "+" << imaginary << "i" << endl; } void Complex::add(Complex&c0) { real += c0.real; } //主函數部分 int main() { Complex c1(3, 5);//實例化 Complex c2(4.5); c1.add(c2); c1.show(); return 0; }

1.對象是現實生活中具體的事物,類則是對象在虛擬計算機中的一種抽象表現,通過提取對象的特征和信息,將現實事物在計算機中進行還原。類是現實中某種具有相同性質的對象的統稱和提煉。像是把對象打造成一種模具。

2.構造函數是一種初始化函數。因為初始化操作需要用的的次數太多,應用的太廣,所以將他設置為一種系統函數,減少出錯率,也減少了工作量。

3.復制構造函數是在需要初始化多個類時的一種簡便操作,用以減少計算機工作量。

4.計算機的空間是有限的,我們每一次實例化類時,都需要向系統申請內存或者系統自動分配內存,而在使用完之后這些內存可能並不會被自動釋放,就大大增加了內存的損耗,析構函數就是讓系統自動收回內存,可以節約內存。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM