cling/tools/Jupyter/kernel/cling.ipynb
2017-05-02 11:59:10 +02:00

122 lines
2.3 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# C++ kernel with Cling\n",
"\n",
"[Cling](https://cern.ch/cling) is an interpreter for C++.\n",
"\n",
"Yup, this is a thing."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": []
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class Rectangle {\n",
" private:\n",
" double w;\n",
" double h;\n",
"\n",
" public:\n",
" \n",
" Rectangle(double w_, double h_) {\n",
" w = w_;\n",
" h = h_;\n",
" }\n",
" double area(void) {\n",
" return w * h;\n",
" }\n",
" double perimiter(void) {\n",
" return 2 * (w + h);\n",
" }\n",
"};"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(double) 20.000000\n"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Rectangle r = Rectangle(5, 4);\n",
"r.area();"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[1minput_line_8:2:4: \u001b[0m\u001b[0;1;31merror: \u001b[0m\u001b[1mno member named 'methodmissing' in 'Rectangle'\u001b[0m\n",
" r.methodmissing();\n",
"\u001b[0;1;32m ~ ^\n",
"\u001b[0m"
]
},
{
"ename": "ename",
"evalue": "evalue",
"output_type": "error",
"traceback": []
}
],
"source": [
"r.methodmissing();"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "C++14",
"language": "",
"name": "cling-cpp14"
},
"language_info": {
"codemirror_mode": "text/x-c++src",
"file_extension": ".c++",
"mimetype": " text/x-c++src",
"name": "c++"
}
},
"nbformat": 4,
"nbformat_minor": 1
}