C ++에서 파일에서 클래스의 여러 객체를 동적으로 생성하려면 어떻게해야합니까?

Bilderweast

저는 여전히 C ++ 초보자이며이 문제에 대한 해결책을 찾기 위해 고군분투하고 있습니다. 다음 형식의 여러 줄이있는 파일이 있습니다.

[문자] [더블] [더블]

예 :

p 100 0.80

r 50 50

p 20 4.8

r -100 25

줄 번호의 이름을 사용하여 Complex 클래스의 개체에 이러한 줄을 저장하고 싶습니다.

class Complex {
private:
    int name;
    char type;
    double a;
    double b;
public:
    Complex(int name, char type, int x, int y);
    char gettype();
    double geta();
    double getb();
};

또한 사용자 지정 생성자를 사용하여 만들고 싶습니다.

Complex::Complex(int name, char type, int x, int y){                    //All data stored in standard form
    if (type = 'p'){
        a = x*cos(y);
        b = x*sin(y);
    }
    else if (type = 'r'){
        a = x;
        b = y;
    }
    else{
        std::cout << "Error" << std::endl;
        a = 0;
        b = 0;
    }
}

문자열을 double과 char로 나눌 수 있지만 정보를 저장하는 데 어려움을 겪고 있습니다. 처음에는 루프를 사용하여 동적으로 이름을 지정할 수 있다고 생각했지만 C ++에서는 클래스 인스턴스를 동적으로 만들 수 없다고 들었습니다. 그런 다음 배열 생성을 살펴 보았지만 다른 솔루션은 이것이 기본 생성자를 사용하여 수행되어야한다고 말했습니다. 얼마나 많은 줄이 있을지 모르고 내 생성자를 사용하여이 정보를 저장할 수있는 방법이 있습니까? 또한 생성자에서 생성 된 a와 b의 값이 객체에 저장됩니까?

티모 게슈

이를 처리하는 가장 간단한 방법은 데이터를 std :: vector에 저장하고 문자열을받는 생성자를 사용하여 입력 줄을 적절한 값으로 분할하는 것입니다.

Complex::Complex(int line_no, std::string const& input)
{
   ... Construct complex object using functionality you already know/have ...
}

...
// Process the file
std::ifstream input("inputfile.data");

int line_no = 1;

while (input.is_open() && input.good() && !input.eof())
{
  std::string line;
  std::getline(input, line);

  complex_vector.push_back(Complex(line_no, line));
  ++line_no;
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Scala에서 여러 클래스로 객체를 확장하려면 어떻게해야합니까?

분류에서Dev

Javascript로 JSON에서 여러 객체를 생성하려면 어떻게해야합니까?

분류에서Dev

데스크톱 C # 앱에서 객체 클래스의 이름을 루트로 추가하여 객체를 Json으로 직렬화하려면 어떻게해야합니까?

분류에서Dev

C ++에서 로컬 생성 객체를 반환하려면 어떻게해야합니까?

분류에서Dev

C #의 클래스에서 특정 유형의 개체를 찾으려면 어떻게해야합니까?

분류에서Dev

Eclipse CDT를 사용하여 데이터 멤버에서 C ++ 클래스 생성자를 생성하려면 어떻게해야합니까?

분류에서Dev

Clang LLVM으로 컴파일 된 C ++ 코드에 대한 그래픽 코드 프로필 보고서를 생성하려면 어떻게해야합니까?

분류에서Dev

PowerShell을 사용하여 ASCII에서 16 진수로의 변환기를 일괄 적으로 생성하려면 어떻게해야합니까?

분류에서Dev

C #에서 동일한 클래스의 여러 개체 인스턴스를 동적으로 생성

분류에서Dev

버튼을 클릭하여 동적으로 생성 된 PictureBox에 이벤트를 추가하려면 어떻게해야합니까? (씨#)

분류에서Dev

JavaScript 클래스를 여러 파일로 분할하고 동일한 네임 스페이스에 속하게하려면 어떻게해야합니까?

분류에서Dev

Angular direcitves에서 클래스를 동적으로 변경하려면 어떻게해야합니까?

분류에서Dev

C #에서 IL을 생성하여 Action <T>를 컴파일 된 식 또는 DynamicMethod로 바꾸려면 어떻게해야합니까?

분류에서Dev

f #에서 유형으로 정의 된 객체를 기반으로 새로운 불변 객체를 생성하려면 어떻게해야합니까?

분류에서Dev

Apache에서 단일 구성 파일로 여러 가상 호스트를 구성하려면 어떻게해야합니까?

분류에서Dev

C ++에서 쓰기 기능을 사용하여 파일에 쓰기 위해 float를 char로 캐스팅하려면 어떻게해야합니까?

분류에서Dev

MacOS 용 SwiftUI에서 여러 줄 텍스트 필드를 생성하려면 어떻게해야합니까?

분류에서Dev

스레드에서 클래스 객체를 반환하고 반환 된 객체의 벡터를 생성하려면 어떻게해야합니까?

분류에서Dev

JS로 요소에 여러 클래스를 추가하려면 어떻게해야합니까?

분류에서Dev

여러 동음이의 파일에서 변수에 액세스하려면 어떻게해야합니까?

분류에서Dev

PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

분류에서Dev

"docxtemplater"에 의해 생성 된 여러 docx 파일로 zip 파일을 생성하려면 어떻게합니까?

분류에서Dev

C #에서 SaveFileDialog를 사용하여 바이트 배열을 디스크에 png 파일로 저장하려면 어떻게해야합니까?

분류에서Dev

Google 유니버설 애널리틱스 코드에서 여러 추적 객체를 추적하려면 어떻게해야합니까?

분류에서Dev

생성 된 클래스에서 특정 객체에 액세스하려면 어떻게해야합니까?

분류에서Dev

클래스 이름에서 컴패니언 객체를 얻으려면 어떻게해야합니까?

분류에서Dev

동일한 필드를 포함하는 여러 텍스트 파일에서 데이터를 개별적으로 작성하려면 어떻게해야합니까?

분류에서Dev

여러 클라이언트를 파이썬에서 동일한 소스에 연결하려면 어떻게해야합니까?

분류에서Dev

PHP로 CSV 파일에서 여분의 쉼표를 제거하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    Scala에서 여러 클래스로 객체를 확장하려면 어떻게해야합니까?

  2. 2

    Javascript로 JSON에서 여러 객체를 생성하려면 어떻게해야합니까?

  3. 3

    데스크톱 C # 앱에서 객체 클래스의 이름을 루트로 추가하여 객체를 Json으로 직렬화하려면 어떻게해야합니까?

  4. 4

    C ++에서 로컬 생성 객체를 반환하려면 어떻게해야합니까?

  5. 5

    C #의 클래스에서 특정 유형의 개체를 찾으려면 어떻게해야합니까?

  6. 6

    Eclipse CDT를 사용하여 데이터 멤버에서 C ++ 클래스 생성자를 생성하려면 어떻게해야합니까?

  7. 7

    Clang LLVM으로 컴파일 된 C ++ 코드에 대한 그래픽 코드 프로필 보고서를 생성하려면 어떻게해야합니까?

  8. 8

    PowerShell을 사용하여 ASCII에서 16 진수로의 변환기를 일괄 적으로 생성하려면 어떻게해야합니까?

  9. 9

    C #에서 동일한 클래스의 여러 개체 인스턴스를 동적으로 생성

  10. 10

    버튼을 클릭하여 동적으로 생성 된 PictureBox에 이벤트를 추가하려면 어떻게해야합니까? (씨#)

  11. 11

    JavaScript 클래스를 여러 파일로 분할하고 동일한 네임 스페이스에 속하게하려면 어떻게해야합니까?

  12. 12

    Angular direcitves에서 클래스를 동적으로 변경하려면 어떻게해야합니까?

  13. 13

    C #에서 IL을 생성하여 Action <T>를 컴파일 된 식 또는 DynamicMethod로 바꾸려면 어떻게해야합니까?

  14. 14

    f #에서 유형으로 정의 된 객체를 기반으로 새로운 불변 객체를 생성하려면 어떻게해야합니까?

  15. 15

    Apache에서 단일 구성 파일로 여러 가상 호스트를 구성하려면 어떻게해야합니까?

  16. 16

    C ++에서 쓰기 기능을 사용하여 파일에 쓰기 위해 float를 char로 캐스팅하려면 어떻게해야합니까?

  17. 17

    MacOS 용 SwiftUI에서 여러 줄 텍스트 필드를 생성하려면 어떻게해야합니까?

  18. 18

    스레드에서 클래스 객체를 반환하고 반환 된 객체의 벡터를 생성하려면 어떻게해야합니까?

  19. 19

    JS로 요소에 여러 클래스를 추가하려면 어떻게해야합니까?

  20. 20

    여러 동음이의 파일에서 변수에 액세스하려면 어떻게해야합니까?

  21. 21

    PowerShell에서 XML의 새 요소를 자동으로 생성하려면 어떻게해야합니까?

  22. 22

    "docxtemplater"에 의해 생성 된 여러 docx 파일로 zip 파일을 생성하려면 어떻게합니까?

  23. 23

    C #에서 SaveFileDialog를 사용하여 바이트 배열을 디스크에 png 파일로 저장하려면 어떻게해야합니까?

  24. 24

    Google 유니버설 애널리틱스 코드에서 여러 추적 객체를 추적하려면 어떻게해야합니까?

  25. 25

    생성 된 클래스에서 특정 객체에 액세스하려면 어떻게해야합니까?

  26. 26

    클래스 이름에서 컴패니언 객체를 얻으려면 어떻게해야합니까?

  27. 27

    동일한 필드를 포함하는 여러 텍스트 파일에서 데이터를 개별적으로 작성하려면 어떻게해야합니까?

  28. 28

    여러 클라이언트를 파이썬에서 동일한 소스에 연결하려면 어떻게해야합니까?

  29. 29

    PHP로 CSV 파일에서 여분의 쉼표를 제거하려면 어떻게해야합니까?

뜨겁다태그

보관