xxxxxxxxxx
class MyClass { // The class
public: // Access specifier
MyClass() { // Constructor
cout << "Hello World!";
}
};
xxxxxxxxxx
//constructor
//carrys the same name of the class
//it is neither void nor return
//is called during the declaration of object
class Triangle {
private:
float base;
float height;
public:
//constructor
//Type 1(empty constructor,without parameters nor arguments)
Triangle() {
cout << "First constructor\n";
height = base = 0; //gives initial value to the class members
}
//Type 2(parameterized constructor)
Triangle(float b, float h) {
cout << "parameterized constructor\n";
base = b;
height = h;
}
//default constructor
Student(float b, float h = 5) {
cout << "Default parameterized constructor\n";
base = b;
height = h;
}
//print function
void print() {
cout << "Base= " << getBase() << endl;
cout << "Height= " << getHeight() << endl;
}
};
int main() {
// triangle will call empty Constructor
Triangle triangle;
triangle.print();
// triangle2 will call parameterized Constructor
Triangle triangle2;
triangle2.print();
// triangle3 will call default parameterized Constructor
Triangle triangle3(2);
triangle3.print();
}
xxxxxxxxxx
struct S {
int n;
S(int); // constructor declaration
S() : n(7) {} // constructor definition.
// ": n(7)" is the initializer list
// ": n(7) {}" is the function body
};
S::S(int x) : n{x} {} // constructor definition. ": n{x}" is the initializer list
int main()
{
S s; // calls S::S()
S s2(10); // calls S::S(int)
}
xxxxxxxxxx
// C++ program to demonstrate the use of default constructor
#include <iostream>
using namespace std;
// declare a class
class Wall {
private:
double length;
public:
// default constructor to initialize variable
Wall() {
length = 5.5;
cout << "Creating a wall." << endl;
cout << "Length = " << length << endl;
}
};
int main() {
Wall wall1;
return 0;
}