Files
2023-07-08 09:36:10 -05:00

45 lines
749 B
C++

#include <iostream>
using std::cout;
class Inner {
private:
int i;
public:
Inner() {
cout << "default constructor for Inner" << '\n';
};
Inner( const Inner &in ) {
cout << "copy constructor for Inner" << '\n';
};
Inner(int i) : i(i) {
cout << "regular constructor for Inner" << '\n';
};
};
class Outer {
Inner one;
public:
Outer(Inner i)
: one(i) {};
Outer(int i)
: one(Inner(i)) {};
Outer(int i,int j) {
one = Inner(i); };
};
int main() {
cout << "Set from Inner" << '\n';
Outer out1(Inner(1));
cout << '\n';
cout << "Set by member initialization" << '\n';
Outer out2(1);
cout << '\n';
cout << "Set by explicit creation" << '\n';
Outer out3(3,4);
cout << '\n';
return 0;
}