1. 程式人生 > >C++“類”小練習

C++“類”小練習

編寫程式。編寫一個關於圓形的C++程式。要求用定義一個圓形類Circle,其中包含如下成員:
1)         1個私有資料成員(半徑)。
2)         3個公有函式成員(設定半徑、計算面積、計算周長)。
3)         3個建構函式(不帶引數的建構函式、帶引數的建構函式和拷貝建構函式)。
主函式main使用圓形類Circle建立圓形物件,要求:
1)         定義一個圓物件c1,從鍵盤輸入一個值x並將其設定為c1的半徑,計算並顯示c1的面積和周長
2)         再定義一個圓物件c2,並將半徑初始化為2x,計算並顯示c2的面積和周長
3)         再定義一個圓物件c3,並用c1初始化c3,計算並顯示c3的面積和周長

#include <iostream>

using namespace std;
#define pi 3.14
class Circle
{
    private:          //私有許可權
        double x;
    public:          //公有許可權
        double getR(){     //從主函式中讀取半徑 ,並將半徑傳遞給私有許可權中的x
            return x;
           }
        void setR(double x){     //接受私有許可權的半徑,並將半徑設定為新的半徑
                this->x=x;
        }
        double Area()
        {
            return(pi*x*x);
        }
        double Len()
        {
            return(2*pi*x);
        }
    Circle(){x=0;}        //不帶形參的建構函式
    Circle(double x){this->x=x;}     //帶形參的建構函式
    Circle(Circle&c){this->x=c.getR();}   //拷貝建構函式
};
    
int main()
{
    double x;
    Circle c1;
    cin>>x;
    c1.setR(x);
    cout<<c1.Area()<<endl;
    cout<<c1.Len()<<endl;

    Circle c2(2*x);
    cout<<c2.Area()<<endl;
    cout<<c2.Len()<<endl;

    Circle c3(c1);
    cout<<c3.Area()<<endl;
    cout<<c3.Len()<<endl;
    return 0;
}

這麼簡單,竟然折騰了快一個上午,氣死我了。。。。

相關推薦

C++“練習

編寫程式。編寫一個關於圓形的C++程式。要求用定義一個圓形類Circle,其中包含如下成員:1)         1個私有資料成員(半徑)。2)         3個公有函式成員(設定半徑、計算面積、計

C++螢幕,矩形,圓練習

1 增強Screen類,使之在程式中只能生成一個例項 增強MyRectangle類,新增顏色資訊 建立MyCircle類 在main函式中建立類的例項。(20分) 題目內容: 修改Screen類: 在Screen類中,將儲存螢幕寬和高的資料域成員改為 static

c#基礎練習

line orm 數字 新建 rtu stat public char 翻轉 1.通過控制臺接受輸入的數字,將數字放到一維數組中,進行反轉數據處理,然後將反轉的數據打印到控制臺應用程序裏 方法一 步驟: 1.添加接收控制臺輸入的數據變量 2.將接收的字符串轉換成一維數組 3

接口與抽象練習

bstr 學習 小練習 繼承 size col ont pri rain /* 繼承中接口與抽象類練習: 乒乓球運動員和籃球運動員 乒乓球教練和籃球教練。 為了出國交流,乒乓球相關人員都需要學習英語 分析: 乒乓球運動員:屬性: 姓名,年齡,技能: 打乒乓球

C++模板練習

練習編寫了一個vector類模板,程式碼記錄在這裡吧。 /* test.h */ #pragma once #include <iostream> using namespace std; template <typename T> class Array {

C++ 練習螢幕,形狀,圓,矩形

1 1.建立MyShape作為基類 2. 修改MyRectangle類從MyShape派生 3. 修改MyCircle類從MyShape派生 4. 增加createShape()函式根據輸入資訊建立物件 4. 在main函式中建立類的例項。(20分) 題目內容: 增加M

C++程式設計練習(一) 找出100以內的素數

int i,j,n,a[101];  //對陣列賦值   for (i=1;i<=100;i++)     a[i]=i;   a[1]=0; //將非素數賦值為0。   for (i=2;i<sqrt(100);i++)     for (j=i+1;j<

C語言練習

recursion 遞歸 highlight tdi oid true cpp c語言 else if //遞歸求數的階乘 #include <stdio.h> long recursion(int n); void main() { int n; lon

C/C++程式設計練習 大數乘方(快速冪演算法實現)

將我之前的大數乘方的演算法做了些小優化,程式碼改動很小 快速冪演算法實現大數乘方,時間複雜度由O(n^3)降到O(n^2*logn) 快速冪演算法原理其實蠻簡單的,類似於二分法的思想,掃描指數n的二進位制形式,然後按照0或1做相應處理 #include <iostre

C/C++程式設計練習 大數減法之浮點大數減法演算法

#include <iostream> #include <cstring> using namespace std; void reverse_str(char *a,int size){ for(int i=0;i<size/2;++i)

C/C++程式設計練習 大數加法之浮點大數加法演算法

#include <iostream> #include <cstring> using namespace std; void reverse_str(char *a,int size){ for(int i=0;i<size/2;++i)

c#中接口、抽象、繼承綜合練習

void strac 遊泳 program pac AC 綜合 abs clas 1 namespace Test 2 { 3 class Program 4 { 5 static void Main(string[] args)

Java語言中:++a與a++練習 &與&&練習 |與||練習 boolean練習

結果 pri 第一題 class 類型 ole true nbsp amp ---------------------------------------------------第一題int x = 1,y = 1; if(x++==2 & ++y==2) //f

Java_與對象13_練習

訪問方式 向下轉型 imp 流程 面試題 空間 args etag 匿名 一、   1:局部變量和成員變量的區別?    A:在類中位置不同    B:在內存中位置不同    C:生命周期不同    D:初始化值不同    2:形式參數分別為基本類型和引用類型的問題?

自己練習極速賽車平臺開發寫的--C#基礎篇十練習

{0} program num gen != pla tasks public static [csharp] view plain copy極速賽車平臺開發論壇:haozbbs.com Q1446595067 using System; using System.Co

C語言資料結構-二叉樹、哈夫曼、佇列練習

原始碼地址 GitHub:https://github.com/GYT0313/C-DataStructure 1. 二叉樹 要求: 掌握二叉樹的二叉連結串列的建立方法; 掌握二叉樹的3種遍歷遞迴演算法; 掌握二叉樹的3種遍歷的非遞迴演算法。 程式

C語言函式的指標練習

總時間限制:  1000ms   記憶體限制:  65536kB // 在此處補充你的程式碼 描述 程式填空,使得輸出結果為: 1,4,9,16,25,  h,e,l,l,o,!, #include <iostream

[練習] C語言題目

一、題目:   二、C程式:(注意:中文部分是程式註釋,如果編譯器不支援中文,需要把中文刪掉) 1 #include <stdio.h> 2 3 int main() { 4 5 int count_letter = 0; //儲存字母數量

day10 01_,抽象,介面的綜合練習,02_形式引數和返回值的問題深入研究,03_包的概述和講解,04_修飾符的概述和總結,05_內部類概述和講解

01_類,抽象類,介面的綜合小練習 /* 教練和運動員案例(學生分析然後講解) 乒乓球運動員和籃球運動員。 乒乓球教練和籃球教練。 為了出國交流,跟乒乓球相關的人員都需要學習英語。 請用所學知識: 分析,這個案例中有哪些抽象類,哪些介面,哪些具體類。 整個分析過程,我是通過畫圖講解的。 */

c語言】指標與陣列練習

一維陣列 int a[]={1,2,3,4}; 1.printf(“%d\n”,sizeof(a)); //16 sizeof(陣列名)求的是整個陣列的大小 2.printf(“%d\n”,sizeof(a+0)); //4 表示第一個元素地址的大小(