편집을 취소할 수 있습니다. 이 편집을 되돌리려면 아래의 바뀐 내용을 확인한 후 게시해주세요.
최신판 | 당신의 편집 | ||
1번째 줄: | 1번째 줄: | ||
시리즈:초급 프로그래밍 c++ | |||
c++ 초반 | |||
<syntaxhighlight lang="c++"> | |||
#include <iostream> | |||
using namespace std; | |||
class Cube | |||
{ | |||
public: | |||
int x, y, z; | |||
int Volume, Area; | |||
Cube(); | |||
Cube( int x, int y, int z ); | |||
}; | |||
Cube::Cube( int x, int y, int z) { | |||
this->x = x, this->y = y, this->z = z; | |||
Volume = x * y * z; | |||
Area = x * y * 2 + y * z * 2 + z * x * 2; | |||
} | |||
Cube::Cube() :Cube ( 1, 1, 1) {} //위임 생성자 | |||
int main(void) | |||
{ | |||
Cube *boxes = new Cube[3]; | |||
boxes[0] = Cube(); | |||
boxes[1] = Cube( 3, 3, 3 ); | |||
boxes[2] = Cube( 4, 4, 4 ); | |||
cout << "부피" << boxes->Volume << endl; | |||
cout << "겉면적" << boxes->Area << endl; | |||
boxes++; | |||
cout << "부피" << boxes->Volume << endl; | |||
cout << "겉면적" << boxes->Area << endl; | |||
boxes++; | |||
cout << "부피" << boxes->Volume << endl; | |||
cout << "겉면적" << boxes->Area << endl; | |||
} | |||
</syntaxhighlight> | |||
확률과 통계와 c++ | |||
<syntaxhighlight lang="c++"> | |||
#include <iostream> | |||
using namespace std; | |||
class Data | |||
{ | |||
private: | |||
float *data; | |||
int size = 0; | |||
public: | |||
float sum = 0; | |||
float mean = 0; | |||
float variance = 0; | |||
Data(int size, float *data) | |||
{ | |||
this->size = size; | |||
this->data = data; | |||
}; | |||
void getsum() | |||
{ | |||
int i = 0; | |||
while ( i < size ) | |||
{ | |||
sum = sum + *data; | |||
data++, i++; | |||
} | |||
data = data - size; | |||
} | |||
void getmean() | |||
{ | |||
mean = sum / size; | |||
} | |||
void getvariance() | |||
{ | |||
float sum = 0; | |||
for (int i = 0 ; i < size ; i++) | |||
{ | |||
float meanMINUSdata = mean - *data; | |||
data++; | |||
sum = sum + meanMINUSdata * meanMINUSdata; | |||
} | |||
data = data - size; | |||
variance = sum / (double) size; | |||
} | |||
}; | |||
int main(void) | |||
{ | |||
cout << "자료의 크기 ? >>"; | |||
int size; | |||
cin >> size; | |||
float *array = new float [size]; | |||
for (int i = 0 ; i < size ; i++) | |||
cin >> array[i]; | |||
Data data1(size, array); | |||
data1.getsum(); | |||
cout << "합계 : " << data1.sum << endl; | |||
data1.getmean(); | |||
cout << "평균 : " << data1.mean << endl; | |||
data1.getvariance(); | |||
cout << "분산 : " << data1.variance << endl; | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
void (*cha)() = printf; | |||
printf("%p", cha); | |||
cha("asdf"); | |||
vscode c++ 빌드 설정 | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"tasks": [ | |||
{ | |||
"type": "cppbuild", | |||
"label": "C/C++: cpp.exe 활성 파일 빌드", | |||
"command": "C:\\msys64\\ucrt64\\bin\\c++.exe", | |||
"args": [ | |||
"-fdiagnostics-color=always", | |||
"-g", | |||
"${file}", | |||
"-o", | |||
"${fileDirname}\\${fileBasenameNoExtension}.exe" | |||
], | |||
"options": { | |||
"cwd": "${fileDirname}" | |||
}, | |||
"problemMatcher": [ | |||
"$gcc" | |||
], | |||
"group": { | |||
"kind": "build", | |||
"isDefault": true | |||
}, | |||
"detail": "컴파일러: C:\\msys64\\ucrt64\\bin\\c++.exe" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
?의 크기를 가진 배열(동적 메모리) | |||
<syntaxhighlight lang="c++"> | |||
#include <iostream> | |||
int main(int argn, char *argv[]) { | |||
int size = 30; | |||
int * start, * random_numbers; | |||
start = random_numbers = new int[size]; | |||
for (size_t i = 0; i < size; i++) | |||
*random_numbers = rand(), random_numbers++; | |||
random_numbers = start; | |||
return 0; | |||
} | |||
</syntaxhighlight> | |||
vscode c++ 실행 설정 | |||
<syntaxhighlight lang="json"> | |||
{ | |||
// IntelliSense를 사용하여 가능한 특성에 대해 알아보세요. | |||
// 기존 특성에 대한 설명을 보려면 가리킵니다. | |||
// 자세한 내용을 보려면 https://go.microsoft.com/fwlink/?linkid=830387을(를) 방문하세요. | |||
"version": "0.2.0", | |||
"configurations": [ | |||
{ | |||
"name": "(gdb) 시작", | |||
"type": "cppdbg", | |||
"request": "launch", | |||
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe", | |||
"args": [], | |||
"stopAtEntry": false, | |||
"cwd": "${fileDirname}", | |||
"environment": [], | |||
"externalConsole": false, | |||
"MIMode": "gdb", | |||
"miDebuggerPath": "C:/msys64/ucrt64/bin/gdb.exe", | |||
"setupCommands": [ | |||
{ | |||
"description": "gdb에 자동 서식 지정 사용", | |||
"text": "-enable-pretty-printing", | |||
"ignoreFailures": true | |||
}, | |||
{ | |||
"description": "디스어셈블리 버전을 Intel(으)로 설정", | |||
"text": "-gdb-set disassembly-flavor intel", | |||
"ignoreFailures": true | |||
} | |||
], | |||
"preLaunchTask": "C/C++: g++.exe 활성 파일 빌드" | |||
}, | |||
] | |||
} | |||
</syntaxhighlight> |