codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
class A { public: A(const char *info) : m_info(new std::string(info)) { std::cout << "allocating object resources\n"; } ~A() { delete m_info; std::cout << "deallocating object resources\n"; } A(const A &other) : m_info(new std::string(*other.m_info)) { std::cout << "copying data\n"; } A &operator =(const A &other) { if (this != &other) { delete m_info; m_info = new std::string(*other.m_info); std::cout << "allocating + copying data\n"; } return *this; } inline std::string info() const { return *m_info; } private: std::string *m_info; }; int main() { std::vector<A> v; A a("banana"); v.push_back(a); A b("mayonnaise"); v.push_back(b); A c("aardvark"); v.push_back(c); std::cout << "------------\n"; std::cout << v.at(0).info() << "\n"; std::cout << v.at(1).info() << "\n"; std::cout << v.at(2).info() << "\n"; std::cout << "------------\n"; return 0; }
Private
[
?
]
Run code
Submit