2016-07-24 3 views
2

이 고양이 클래스가 있다고 가정하고 2 개의 인스턴스를 만듭니다. 고양이가 서로 공격 할 수 있기를 바란다함수/매개 변수를 함수의 매개 변수로 전달하는 방법

class ninjaCat { 
    var health : Double = 100.00 
    var attack = Double() 

    init(attack : Double){ 
     self.attack = attack 
    } 

    func thunderClaw(otherCat : ninjaCat){ 
     health = otherCat.health 
     otherCat.health = health - self.attack 
    } 
} 

var NinjaCat1 = ninjaCat(10.60) 
var NinjaCat2 = ninjaCat(20.15) 

NinjaCat1.thunderClaw(NinjaCat2) 

클래스 개체를 함수 매개 변수로 전달할 수 있습니까?

+0

해야한다 무엇 이 코드를 실행할 때 오류가 발생합니까? – ganesshkumar

+0

'init' ('self.attack = attack')에서 바로 덮어 쓸 때,'attack'에 static initializer ('= Double()')를주는 이유는 무엇입니까? – Alexander

답변

1

실제로 가능합니다. 당신의 남은 수명을 계산하는 대신에 대상의의 공격 고양이의 현재 생활을 사용하기 때문에 당신이 거기 당신에게 코드를 확인해야하지만 :

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health = health - self.attack 
} 

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health = otherCat.health - self.attack 
} 

하거나

func thunderClaw(otherCat : ninjaCat){ 
    otherCat.health -= self.attack 
} 
관련 문제