Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Object-Oriented Swift 2.0 Class Inheritance Creating a Subclass

Sıla Çakıcı
Sıla Çakıcı
371 Points

Class Inheritance

Hi, I cannot find what is wrong with my code? It does not compile. Also, I have a problem with understanding why is the code is written like "withDoors doors: Int, andWheels wheels: Int", but not only as "doors: Int, wheels: Int"

Can you help me?

classes.swift
class Vehicle {
    var numberOfDoors: Int
    var numberOfWheels: Int

    init(withDoors doors: Int, andWheels wheels: Int) {
        self.numberOfDoors = doors
        self.numberOfWheels = wheels
    }
}

// Enter your code below
class Car: Vehicle {
  let numberOfSeats: Int = 4
 override init(withDoors doors: Int, andWheels wheels: Int) {
        super.init(withDoors: doors, andWheels: wheels)
}

let someCar = Car(withDoors:4, andWheels: 4)

3 Answers

So, so close! You left out a closing curly brace:

class Car: Vehicle {
  let numberOfSeats: Int = 4
  override init(withDoors doors: Int, andWheels wheels: Int) {
    super.init(withDoors: doors, andWheels: wheels)
  }
}

let someCar = Car(withDoors:4, andWheels: 4)

Happy coding!

You're simply missing a closing curly-brace. Always try to indent your code correctly as it helps finding brace alignment issues. Thankfully Xcode does most of the work for you. Correct working code:

class Vehicle {
    var numberOfDoors: Int
    var numberOfWheels: Int

    init(withDoors doors: Int, andWheels wheels: Int) {
        self.numberOfDoors = doors
        self.numberOfWheels = wheels
    }
}

// Enter your code below
class Car: Vehicle {
    let numberOfSeats: Int = 4
    override init(withDoors doors: Int, andWheels wheels: Int) {
        super.init(withDoors: doors, andWheels: wheels)
    }
}

let someCar = Car(withDoors:4, andWheels: 4)