iT邦幫忙

0

C++ Class 超出範圍 解構

  • 分享至 

  • xImage

class HI;
if()
{
HI bro();
}
像是上面這樣 想在判斷式裡面宣告class
但只要出了if 就會自動被解構掉
求點意見

也請問一下如何用cin宣告class
像是cin>>a;
HI a();
a.function();
像是這樣

ant1017 iT邦新手 2 級 ‧ 2019-06-14 09:11:56 檢舉
全域變數...或者在Class裡面宣告,並套入HI bro(String)之類的....
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
小魚
iT邦大師 1 級 ‧ 2019-06-13 16:35:20

你要先去了解全域變數和區域變數,
還有變數的範圍,
在if裡面宣告的變數,
自然在外面無法使用,
如果要在外面使用就要在if之前宣告.

還有cin如果要輸入自定義的Class,
需要經過 >> 的運算子多載,
可以參考 這一篇

當然這都是基本的語法,
實際的應用需要自己動頭腦去處理.

0
JamesDoge
iT邦高手 1 級 ‧ 2023-02-12 13:07:41

如何宣告物件並呼叫它的成員函數的範例:

#include <iostream>

// 定義一個名為 "Person" 的類別
class Person {
public:
  // 定義一個名為 "setName" 的成員函數
  void setName(std::string name) {
    this->name = name;
  }
  
  // 定義一個名為 "getName" 的成員函數
  std::string getName() {
    return name;
  }
  
private:
  std::string name;
};

int main() {
  // 宣告一個名為 "p" 的物件
  Person p;
  
  // 使用 "cin" 讀入名字
  std::string name;
  std::cout << "請輸入名字:";
  std::cin >> name;
  
  // 使用 "setName" 函數設定物件的名字
  p.setName(name);
  
  // 使用 "getName" 函數取得物件的名字
  std::cout << "名字:" << p.getName() << std::endl;
  
  return 0;
}

我要發表回答

立即登入回答