Unidirectional Association

Medium Composition & Aggregation
Solve in Playground →

Problem Statement

Create a `Pet` class and a `Person` class. The `Person` has a method `adopt(Pet* p)` that sets a `Pet*` pointer member and prints ‘[Person] adopted [Pet]’. The `Pet` has no knowledge or pointer pointing back to the `Person`.

Input Format

Two strings: Person name then Pet name.

Output Format

Print the adoption message.

Constraints

No spaces in names.

Sample Input

John Buddy

Sample Output

John adopted Buddy

Explanation

In a unidirectional association, one object relies on the other, but the relationship does not go both ways.

Starter Code

#include <iostream>
#include <string>

class Pet {
public:
    // Write your code here
};

class Person {
public:
    // Write your code here
};

int main() {
    // Read input, create objects, and adopt
    return 0;
}

Limits

  • Time Limit: 1s
  • Memory Limit: 256MB

Embedded C Programming

Updated: March 15, 2026
Intermediate

Embedded systems rely on efficient low-level programming to interact directly with hardware. In this course, you will learn how to write practical Embedded C programs used in real microcontroller-based systems. Rather than focusing only on theory, this course follows a practice-driven approach. Each lesson includes hands-on coding exercises that simulate real firmware development tasks used