Skip to content

Instantly share code, notes, and snippets.

View kateolenya's full-sized avatar

Kateryna kateolenya

View GitHub Profile
@kateolenya
kateolenya / main.c
Created March 25, 2019 15:03
Inheritance in C, short version of struct as pure superset of another struct
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct Device {
int serial_number;
int sizeof_memory;
};
void print_values( struct Device * some_device ) {
@kateolenya
kateolenya / base.c
Created March 25, 2019 15:02
Inheritance in C, struct as pure superset of another struct
#include "base.h"
#include <stdio.h>
struct Device {
int serial_number;
int sizeof_memory;
};
void print_values( struct Device * some_device ) {
printf("Serial number: %d, ", some_device->serial_number);
@kateolenya
kateolenya / pure_abstract.cpp
Created March 22, 2019 13:14
Example of pure abstract class in C++
#include <iostream>
using namespace std;
class Device {
public:
virtual void turn_on() = 0;
};
class Computer {
public:
@kateolenya
kateolenya / multiple_inheritance.cpp
Last active March 29, 2019 11:24
Example of multiple inheritance in C++
#include <iostream>
using namespace std;
class Computer {
public:
void turn_on() {
cout << "Welcome to Windows 95" << endl;
}
};
@kateolenya
kateolenya / virtual_inheritance.cpp
Last active March 28, 2019 10:26
Example usage of keyword 'virtual' in C++
#include <iostream>
using namespace std;
class Device {
public:
Device() {
cout << "Device constructor called" << endl;
}
void turn_on() {
cout << "Device is on." << endl;
@kateolenya
kateolenya / diamond_problem.cpp
Last active March 29, 2019 11:34
Example of diamond problem in C++
#include <iostream>
using namespace std;
class Device {
public:
void turn_on() {
cout << "Device is on." << endl;
}
};
@kateolenya
kateolenya / constructor.cpp
Last active March 29, 2019 11:22
Process of calling inherited constructors and destructors in C++
#include <iostream>
using namespace std;
class Device {
public:
// constructor
Device() {
cout << "Device constructor called" << endl;
}
// destructor
@kateolenya
kateolenya / private_inheritance.cpp
Last active March 22, 2019 12:02
Example of private inheritance in C++
#include <iostream>
using namespace std;
class Device {
public:
int serial_number = 12345678;
void turn_on() {
cout << "Device is on" << endl;
}
@kateolenya
kateolenya / basic_inheritance.cpp
Last active March 29, 2019 11:16
Basic example of inheritance in C++
#include <iostream>
using namespace std;
class Device {
public:
int serial_number = 12345678;
void turn_on() {
cout << "Device is on" << endl;
}
@kateolenya
kateolenya / private_funct.h
Created March 14, 2019 22:04
Private function in C using static
#ifndef PRIVATE_FUNCT_H
#define PRIVATE_FUNCT_H
struct Contact;
struct Contact * create_contact();
static void print_numbers( struct Contact * some_contact );
void delete_contact( struct Contact * my_points );
#endif /* PRIVATE_FUNCT_H */