###前提・実現したいこと
下記ソースコードを実行したところ、Runtimeエラーが発生して実行することができません。
staticの使い方が間違っているのでしょうか。
すいませんが、宜しくお願い致します。
###プログラム
ヘッダー
class Worker{
static int num;
static char CompanyName;*
int number;
char* department;
char* name;
double salary;
public:
Worker();
~Worker();
Worker(int number, char* department,char* name, double salary);
void ShowData();
void setNumber(int number);
int getNumber();
void setName(char* name);
char* getName();
void setSalary(double salary);
double getSalary();
};
メイン文
#include <iostream>
#include <string.h>
#include "Worker.h"
using namespace std;
int Worker::num=0;
char* Worker::CompanyName = "ABC";
Worker::Worker(){
int number = num;
strcpy(this->department, "NotDefinedDepartment");
strcpy(this->name, "NotDefinedName");
salary = 0;
num++;
}
Worker::~Worker(){
cout << "This is ~Worker();" << "\n";
}
Worker::Worker(int number, char* department,char* name, double salary){
this->number = number;
strcpy(this->department, department);
strcpy(this->name, name);
this->salary = salary;
}
void Worker::ShowData(){
cout << "number = " << number << "\n";
cout << "company = " << CompanyName << "\n";
cout << "department = " << department << "\n";
cout << "name = " << name << "\n";
cout << "salary = " << salary << "\n";
}
void Worker::setNumber(int number){
this->number = number;
}
int Worker::getNumber(){
return this->number;
}
void Worker::setName(char* name){
strcpy(this->name, name);
}
char* Worker::getName(){
return this->name;
}
void Worker::setSalary(double salary){
this->salary = salary;
}
double Worker::getSalary(){
return this-> salary;
}
int main(void){
Worker w1(1, "Adep", "Takayuki", 1233.0);
w1.ShowData();
return 0;
}
###エラー
ここにご自身が実行したソースコードを書いてください
###補足情報(言語/FW/ツール等のバージョンなど)
paiza.io
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。