c++類的基本形式(一個簡單類的簡單sample,命名空間)

  • 有人把類說成是佔用固定大小內存塊的別名,其定義時不佔用空間
#include<iostream>
#include<string>
using namespace std;
class mycoach
{
public:
    string name="陳培昌";
    int age=22;
private:
    string favorite = "和丁大鍋在一塊兒";
public:
    void introduce()
    {
        cout << "你們好,我是" + name << "愛好是:" + favorite << endl;
    }
};

void main()
{
    mycoach cpc;
    cout << "你們好,我是"+cpc.name<<endl;
    cpc.introduce();
    getchar();

}

輸出結果:ios

 

  •  常見錯誤----爲何成員函數很重要
#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
    double radius;
    double mypie = 3.1415926;
    double s = radius*radius*mypie;
};

int main()
{
    mycircle circle;
    cout << "請輸入半徑:";
    cin >> circle.radius;
    cout << "OK半徑是: " << circle.radius << "  那麼圓的面積是:"<<endl;
    cout << circle.s << endl;
    system("pause");
    return 0;
}

輸出結果:函數

 

 what hell that do......究其緣由,乃是,類定義時就爲mycircle的成員屬性s就分配了一塊空間,其值是亂碼spa

即便在main函數中爲radius賦值,然而這對s並沒有任何影響,因此其值爲亂碼,因此計算面積s不得不使用一成員函數code

#include<iostream>
#include<math.h>
using namespace std;
class mycircle
{
public:
    double radius;
    double mypie = 3.1415926;
    //double s = radius*radius*mypie;
public:
    double gets()
    {
        return radius*radius*mypie;
    }
};

int main()
{
    mycircle circle;
    cout << "請輸入半徑:";
    cin >> circle.radius;
    cout << "OK半徑是: " << circle.radius << "  那麼圓的面積是:"<<endl;
    cout << circle.gets()<< endl;
    system("pause");
    return 0;
}

 

輸出結果:blog

 

 

namespace的用途:比起C來講,C++的函數庫十分豐富,有可能遇到庫函數名撞庫的現象,因此須要namespace來區分內存

咱們常見的namesapce 是標準命名空間即 using namespace std,若是未聲明代碼要使用的命名空間,那麼能夠經過這種方法引入ci

int main()
{
    mycircle circle;
    std::cout << "請輸入半徑:";
    std::cin >> circle.radius;
    std::cout << "OK半徑是: " << circle.radius << "  那麼圓的面積是:"<<std::endl;
    std::cout << circle.gets()<< std::endl;
    system("pause");
    return 0;
}
  • 命名空間
#include "iostream"
#include<string>
using namespace std;
namespace cjbefore1014
{
    string comment = "懂事,可愛的搏擊弟弟一口一個哥";
}
namespace cjafter1014
{
    string comment = "冷酷,無情,自私,過河拆橋,傲慢,不可理喻,白眼狼";
}

void main()
{
    using namespace cjbefore1014;
    cout << "once upon the time:有這樣一個搏擊弟弟" << endl;
    cout << "在2019年10月14日之前" << "他是一個" << endl;
    cout <<comment << endl;
    using namespace cjafter1014;
    cout << "在2019年10月14日之後" << "他是一個" << endl;
    cout << cjafter1014::comment << endl;
    system("pause");
}

輸出結果:get

相關文章
相關標籤/搜索