Skip to content

Commit cb48972

Browse files
committed
Update PR with everything which works in deployment
1 parent 6c3f50a commit cb48972

File tree

1 file changed

+255
-0
lines changed

1 file changed

+255
-0
lines changed

notebooks/xeus-cpp-lite-demo.ipynb

Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,261 @@
9494
"source": [
9595
"std::cerr << \"some error\" << std::endl;"
9696
]
97+
},
98+
{
99+
"cell_type": "code",
100+
"execution_count": 5,
101+
"id": "7af0c962-17dc-47d4-9772-b8a06e2bda3a",
102+
"metadata": {
103+
"vscode": {
104+
"languageId": "c++"
105+
}
106+
},
107+
"outputs": [
108+
{
109+
"name": "stdout",
110+
"output_type": "stream",
111+
"text": [
112+
"5\n"
113+
]
114+
}
115+
],
116+
"source": [
117+
"int j = 5;\n",
118+
"std::cout << j << std::endl;"
119+
]
120+
},
121+
{
122+
"cell_type": "markdown",
123+
"id": "526a7dba-4001-47d5-a116-95423118e100",
124+
"metadata": {},
125+
"source": [
126+
"# Interpreting the C++ programming language\n",
127+
"\n",
128+
"You can define functions, classes, templates, etc ..."
129+
]
130+
},
131+
{
132+
"cell_type": "markdown",
133+
"id": "e5b116ce-ced1-4aa4-b14e-ef7d2606202e",
134+
"metadata": {},
135+
"source": [
136+
"## Functions"
137+
]
138+
},
139+
{
140+
"cell_type": "code",
141+
"execution_count": 6,
142+
"id": "86b08f22-e16c-4eac-917d-ae6eeb7ec7cb",
143+
"metadata": {
144+
"vscode": {
145+
"languageId": "c++"
146+
}
147+
},
148+
"outputs": [],
149+
"source": [
150+
"double sqr(double a)\n",
151+
"{\n",
152+
" return a * a;\n",
153+
"}"
154+
]
155+
},
156+
{
157+
"cell_type": "code",
158+
"execution_count": 7,
159+
"id": "5aff6711-54bf-4280-a496-c9f7c683eee5",
160+
"metadata": {
161+
"vscode": {
162+
"languageId": "c++"
163+
}
164+
},
165+
"outputs": [
166+
{
167+
"name": "stdout",
168+
"output_type": "stream",
169+
"text": [
170+
"6.25\n"
171+
]
172+
}
173+
],
174+
"source": [
175+
"double a = 2.5;\n",
176+
"double asqr = sqr(a);\n",
177+
"std::cout << asqr << std::endl;"
178+
]
179+
},
180+
{
181+
"cell_type": "markdown",
182+
"id": "5b3959b0-9dc7-41a4-bba1-e20abd0765f7",
183+
"metadata": {},
184+
"source": [
185+
"## Classes"
186+
]
187+
},
188+
{
189+
"cell_type": "code",
190+
"execution_count": 8,
191+
"id": "d981a53b-8185-49c5-8a30-02453cc1b9e9",
192+
"metadata": {
193+
"vscode": {
194+
"languageId": "c++"
195+
}
196+
},
197+
"outputs": [],
198+
"source": [
199+
"class Foo\n",
200+
"{\n",
201+
"public:\n",
202+
"\n",
203+
" virtual ~Foo() {}\n",
204+
" \n",
205+
" virtual void print(double value) const\n",
206+
" {\n",
207+
" std::cout << \"Foo value = \" << value << std::endl;\n",
208+
" }\n",
209+
"};"
210+
]
211+
},
212+
{
213+
"cell_type": "code",
214+
"execution_count": 9,
215+
"id": "195d513f-d5cb-4e3d-a6cb-ae99dfcd9aab",
216+
"metadata": {
217+
"vscode": {
218+
"languageId": "c++"
219+
}
220+
},
221+
"outputs": [
222+
{
223+
"name": "stdout",
224+
"output_type": "stream",
225+
"text": [
226+
"Foo value = 1.2\n"
227+
]
228+
}
229+
],
230+
"source": [
231+
"Foo bar;\n",
232+
"bar.print(1.2);"
233+
]
234+
},
235+
{
236+
"cell_type": "markdown",
237+
"id": "9ecc1588-cb6e-4676-bb16-b9938e980b06",
238+
"metadata": {},
239+
"source": [
240+
"## Polymorphism"
241+
]
242+
},
243+
{
244+
"cell_type": "code",
245+
"execution_count": 10,
246+
"id": "4df90bea-5c9e-462e-bd20-d80fd169b7b6",
247+
"metadata": {
248+
"vscode": {
249+
"languageId": "c++"
250+
}
251+
},
252+
"outputs": [],
253+
"source": [
254+
"class Bar : public Foo\n",
255+
"{\n",
256+
"public:\n",
257+
"\n",
258+
" virtual ~Bar() {}\n",
259+
" \n",
260+
" virtual void print(double value) const\n",
261+
" {\n",
262+
" std::cout << \"Bar value = \" << 2 * value << std::endl;\n",
263+
" }\n",
264+
"};"
265+
]
266+
},
267+
{
268+
"cell_type": "code",
269+
"execution_count": 11,
270+
"id": "f7dbbcc2-0f00-48eb-8bb9-94e871afa2a7",
271+
"metadata": {
272+
"vscode": {
273+
"languageId": "c++"
274+
}
275+
},
276+
"outputs": [
277+
{
278+
"name": "stdout",
279+
"output_type": "stream",
280+
"text": [
281+
"Bar value = 2.4\n"
282+
]
283+
}
284+
],
285+
"source": [
286+
"Foo* bar2 = new Bar;\n",
287+
"bar2->print(1.2);\n",
288+
"delete bar2;"
289+
]
290+
},
291+
{
292+
"cell_type": "markdown",
293+
"id": "094f4ca7-0aa5-4121-bfff-bf5db1d42c5d",
294+
"metadata": {},
295+
"source": [
296+
"## Templates"
297+
]
298+
},
299+
{
300+
"cell_type": "code",
301+
"execution_count": 12,
302+
"id": "0df4f3a5-25a1-4548-ba63-54887c770dad",
303+
"metadata": {
304+
"vscode": {
305+
"languageId": "c++"
306+
}
307+
},
308+
"outputs": [],
309+
"source": [
310+
"#include <typeinfo>\n",
311+
"\n",
312+
"template <class T>\n",
313+
"class FooT\n",
314+
"{\n",
315+
"public:\n",
316+
" \n",
317+
" explicit FooT(const T& t) : m_t(t) {}\n",
318+
" \n",
319+
" void print() const\n",
320+
" {\n",
321+
" std::cout << typeid(T).name() << \" m_t = \" << m_t << std::endl;\n",
322+
" }\n",
323+
" \n",
324+
"private:\n",
325+
" \n",
326+
" T m_t;\n",
327+
"};"
328+
]
329+
},
330+
{
331+
"cell_type": "code",
332+
"execution_count": 13,
333+
"id": "e7bcab70-b9db-409c-aa04-9c64b413e266",
334+
"metadata": {
335+
"vscode": {
336+
"languageId": "c++"
337+
}
338+
},
339+
"outputs": [
340+
{
341+
"name": "stdout",
342+
"output_type": "stream",
343+
"text": [
344+
"d m_t = 1.2\n"
345+
]
346+
}
347+
],
348+
"source": [
349+
"FooT<double> foot(1.2);\n",
350+
"foot.print();"
351+
]
97352
}
98353
],
99354
"metadata": {

0 commit comments

Comments
 (0)